Sqoop导入失败
我正在尝试使用Sqoop将表从Oracle导入到配置单元。我使用了以下命令: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-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
- 如果不存在配置单元表,则创建配置单元表
- 将路径“
”中的数据加载到表
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的原因