sqoop报错 java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: covidchina

项目场景:

从hdfs导入数据到mysql

问题描述:

java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: covidchina
	at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:492)
	at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:552)
Caused by: java.io.IOException: java.lang.ClassNotFoundException: covidchina
	at org.apache.sqoop.mapreduce.TextExportMapper.setup(TextExportMapper.java:70)
	at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
	at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:799)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)
	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:271)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: covidchina
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.apache.sqoop.mapreduce.TextExportMapper.setup(TextExportMapper.java:66)
	... 10 more

原因分析:

缺少文件

解决方案:

sqoop 运行时产生三个文件 .class .java .jar 一般情况下这三个文件在/tmp/sqoop-root/compile/下最下面(最新文件夹) 把里面的三个文件复制到sqoop安装目录下的lib目录下

版权声明:本文为qq_48959845原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。