sqoop条件抽取报错distcp

Sqoop抽取语句如下:
/usr/local/sqoop-1.4.6/bin/sqoop import \
  --connect jdbc:mysql://10.13.50.125:3306/longer \
  --username sqoop \
  --password XXXXXX \
  --query " select * from tabname where scheduled_deptime between UNIX_TIMESTAMP('$v_begin_date') and UNIX_TIMESTAMP('$v_end_date') and \$CONDITIONS " \
  --hive-database testdb\
  --hive-table tabname _test \
  --hive-import \
  --split-by dynamic_id \
  --target-dir /user/hive/sqptarget \
  --bindir /home/hadoop/new_binddir \
  --outdir /home/hadoop/new_binddir \
  --direct \
  -m 8
--------------------------------------------------------------------------------
报错如下(片段):
18/07/06 15:25:41 INFO common.FileUtils: Source is 76566465 bytes. (MAX: 33554432)
18/07/06 15:25:41 INFO common.FileUtils: Launch distributed copy (distcp) job.
18/07/06 15:25:41 ERROR metadata.Hive: Failed to move: java.lang.NoClassDefFoundError: org/apache/hadoop/tools/DistCpOptions
Failed with exception java.lang.NoClassDefFoundError: org/apache/hadoop/tools/DistCpOptions
18/07/06 15:25:41 ERROR exec.Task: Failed with exception java.lang.NoClassDefFoundError: org/apache/hadoop/tools/DistCpOptions
org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NoClassDefFoundError: org/apache/hadoop/tools/DistCpOptions
        at org.apache.hadoop.hive.ql.metadata.Hive.copyFiles(Hive.java:2895)
        at org.apache.hadoop.hive.ql.metadata.Hive.copyFiles(Hive.java:3205)
        at org.apache.hadoop.hive.ql.metadata.Hive.loadTable(Hive.java:1920)
        at org.apache.hadoop.hive.ql.exec.MoveTask.execute(MoveTask.java:364)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2084)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1755)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1463)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1181)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1171)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:336)
        at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:474)
        at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:490)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:793)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686)
--------------------------------------------------------------------------
原因: hive 最后移动数据的时候,需要调用hadoop-distcp-X.X.X.jar,
解决方法:只需要把$HADOOP_HOME/share/hadoop/tools/lib/hadoop-distcp-x.x.x.jar 拷贝 $HIVE_HOME/lib下面,重启hive即可


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9606353/viewspace-2157457/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9606353/viewspace-2157457/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值