Sqoop导入失败

Sqoop导入失败,sqoop,Sqoop,我正在尝试使用Sqoop将表从Oracle导入到配置单元。我使用了以下命令: sqoop-import --connect jdbc:<connection> --table test1 --username test --password test --hive-table hive_test --create-hive-table --hive-import -m 1 sqoop导入--连接jdbc:--表test1--用户名测试--密码测试--配置单元表配置单元测试-

我正在尝试使用Sqoop将表从Oracle导入到配置单元。我使用了以下命令:

sqoop-import --connect jdbc:<connection> --table test1 --username test --password test --hive-table hive_test --create-hive-table --hive-import -m 1    
sqoop导入--连接jdbc:--表test1--用户名测试--密码测试--配置单元表配置单元测试--创建配置单元表--配置单元导入--m1
但这给了我一个错误

 Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory <hdfs path> already exists
在运行导入作业时遇到IOException:org.apache.hadoop.mapred.filealreadyexistException:输出目录已存在
因此,我在许多论坛上在线阅读,它说我应该删除该目录并再次运行该命令。
我确实这样做了,但我仍然不断地发现错误。

您需要了解Sqoop配置单元导入的工作原理

  • 将数据导入HDFS
  • 如果不存在配置单元表,则创建配置单元表
  • 将路径“
    ”中的数据加载到表
您将在步骤1中得到错误

Output directory <hdfs path> already exists
输出目录已存在
删除此
,然后继续

更好的方法:

无需每次手动删除此项

在命令中使用
--delete target dir
。会的

删除导入目标目录(如果存在)


p.S.无需使用
--使用
--蜂巢导入创建蜂巢表
<代码>--配置单元导入默认情况下为您创建表。

您需要了解Sqoop配置单元导入的工作原理

  • 将数据导入HDFS
  • 如果不存在配置单元表,则创建配置单元表
  • 将路径“
    ”中的数据加载到表
您将在步骤1中得到错误

Output directory <hdfs path> already exists
输出目录已存在
删除此
,然后继续

更好的方法:

无需每次手动删除此项

在命令中使用
--delete target dir
。会的

删除导入目标目录(如果存在)


p.S.无需使用
--使用
--蜂巢导入创建蜂巢表
<代码>--配置单元导入默认情况下为您创建表。

配置单元将其表数据存储在hdfs上的配置单元仓库中,表名为目录,通常具有以下路径

/user/hive/warehouse/

需要删除表名目录

hadoop fs -rmr /user/hive/warehouse/hive_test

配置单元将其表数据存储在hdfs上的配置单元仓库中,表名为目录,通常具有以下路径

/user/hive/warehouse/

需要删除表名目录

hadoop fs -rmr /user/hive/warehouse/hive_test

该表是否已存在?如果需要使用--hive overwritethetable不存在,这就是我使用--create hive table的原因--表是否已经存在?如果是这样,您需要使用--hive overwriteThe表不存在,这就是我使用--create hive table的原因