sqoop import 报错: ERROR tool.ImportTool: Import failed: Import job failed

2021-12-16 20:35:57,142 INFO mapreduce.Job:  map 0% reduce 0%
2021-12-16 20:35:57,148 INFO mapreduce.Job: Job job_local876630507_0001 failed with state FAILED due to: NA
2021-12-16 20:35:57,195 INFO mapreduce.Job: Counters: 0
2021-12-16 20:35:57,216 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead
2021-12-16 20:35:57,218 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 3.3269 seconds (0 bytes/sec)
2021-12-16 20:35:57,219 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
2021-12-16 20:35:57,229 INFO mapreduce.ImportJobBase: Retrieved 0 records.
2021-12-16 20:35:57,229 ERROR tool.ImportTool: Import failed: Import job failed!

上传mysql数据到hdfs时返回上面的错误,

原因是sqoop找不到生成的jar包位置。

解决方法

可以去/tmp/sqoop-hadoop/compile/ 下的临时文件,文件夹名称为一大串字符,每个文件夹内有对应表名生成的.jar包、.java和.class文件。将这三中文件拷贝到你的sqoop安装目录/usr/local/sqoop/lib文件夹下即可解决。(如果不知道是那个临时文件夹可以根据时间进行定位。)

但这种方法很不方便,每一次执行命令后都需要去到临时文件夹下复制那三种文件粘贴到sqoop/lib下,不然就算执行成功,结果也还是上次执行的结果,就是说只要你换了命令,你就要去重复这个复制粘贴的操作,十分不方便。希望有大佬可能告诉我有没有更好的解决办法。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值