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下,不然就算执行成功,结果也还是上次执行的结果,就是说只要你换了命令,你就要去重复这个复制粘贴的 *** 作,十分不方便。希望有大佬可能告诉我有没有更好的解决办法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)