sqoop import --connect jdbc:mysql://localhost:3306/test1 --username root --password root --table article --hive-import --hive-table testERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoopMaster:9000/user/hadoop/article already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:164) at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSu修改输出路径
时间: 2023-10-09 16:12:03 浏览: 139
可以在命令后面添加`--delete-target-dir`参数来删除已经存在的目录,如下所示:
```
sqoop import --connect jdbc:mysql://localhost:3306/test1 --username root --password root --table article --hive-import --hive-table test --delete-target-dir
```
这样就会在导入数据前将已经存在的输出目录删除。如果你想保留原有的输出目录,可以手动将其删除,或者修改输出路径,如下所示:
```
sqoop import --connect jdbc:mysql://localhost:3306/test1 --username root --password root --table article --hive-import --hive-table test --target-dir /user/hadoop/article_new
```
这样就会将数据导入到新的输出目录`/user/hadoop/article_new`中。
相关问题
sqoop import --connect jdbc:mysql://localhost:3306/test1 --username root --password root --table article --hive-import --hive-table testERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoopMaster:9000/user/hadoop/article already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:164) at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSu
这个错误提示是因为导入数据时指定的输出目录已经存在了。你可以尝试指定一个新的输出目录,或者删除已经存在的输出目录(hdfs://hadoopMaster:9000/user/hadoop/article),再重新运行命令。如果你确定不需要已经存在的输出目录,可以使用以下命令删除它:
```
hadoop fs -rm -r hdfs://hadoopMaster:9000/user/hadoop/article
```
然后再重新运行sqoop import命令即可。
sqoop import --connect jdbc:mysql://localhost:3306/test1 --username hive --password hive --table user --hive-import --hive-table user
这是一个用于将 MySQL 数据库中的表导入到 Hive 中的 Sqoop 命令。具体来说:
- `sqoop import` 表示要执行 Sqoop 的导入操作。
- `--connect jdbc:mysql://localhost:3306/test1` 指定了要连接的 MySQL 数据库的地址和端口。
- `--username hive --password hive` 指定了连接 MySQL 数据库所需的用户名和密码。
- `--table user` 指定了要导入的 MySQL 数据库中的表名。
- `--hive-import` 表示要将数据导入到 Hive 中。
- `--hive-table user` 指定了要将数据导入到 Hive 中的表名。
因此,执行这个命令可以将 MySQL 数据库中的 user 表导入到 Hive 中的 user 表中。
阅读全文