从teradata到hive的sqoop导入错误

时间:2017-04-06 11:37:45

标签: sqoop

我正在使用下面给出的sqoop命令:

sqoop import 
    --libjars /usr/hdp/2.4.0.0-169/sqoop/lib,/usr/hdp/2.4.0.0-169/hive/lib 
    --connect jdbc:teradata://x/DATABASE=x 
    --connection-manager org.apache.sqoop.teradata.TeradataConnManager 
    --username ec 
    --password dc 
    --query "select *  from hb where yr_nbr=2017"
    --hive-table schema.table 
    --num-mappers 1 
    --hive-import  
    --target-dir /user/hive/warehouse/GG

我收到此错误:

org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
    17/04/06 11:15:41 INFO mapreduce.Job:  map 100% reduce 0%
    17/04/06 11:15:41 INFO mapreduce.Job: Task Id : attempt_1491466460468_0029_m_000000_1, Status : FAILED
    Error: org.apache.hadoop.fs.FileAlreadyExistsException: /user/root/temp_111508/part-m-00000 for client 192.168.211.133 already exists

1 个答案:

答案 0 :(得分:0)

从错误中,我猜测输出文件已经在您的目标目录中,可能来自您以前的sqoop导入。 sqoop导入中有一个名为--delete-target-dir的选项,它将删除目标输出目录并在下一个sqoop导入中重新创建它们。希望有所帮助。