Используйте sqoop экспорт данных из куста в mysql ClassNotFoundException:<имя_таблицы>.class
Ракушка:
bin/sqoop export --bindir ./
--connect jdbc:mysql://localhost:3306/dbtaobao
--username root --password chengnuo1314521.
--table user_log
--export-dir '/user/hive/warehouse/dbtaobao.db/inner_user_log'
--fields-terminated-by ',';
и я вижу jar и class dir: введите описание изображения здесь
Исключение:
2018-06-30 15:51:55,492 INFO mapreduce.AutoProgressMapper: Auto-progress thread is finished. keepGoing=false
2018-06-30 15:51:55,495 INFO mapred.LocalJobRunner: map task executor complete.
2018-06-30 15:51:55,496 WARN mapred.LocalJobRunner: job_local1522330308_0001
java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: user_log
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: user_log
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: user_log
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
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
...
2018-06-30 15:51:56,104 ERROR tool.ExportTool: Error during export: Export job failed!
Я не знаю, причина в том, что мой Mac, и я ищу эту проблему в течение 7 часов. Я обнаружил некоторую похожую проблему, потому что "Sqoop поместит сгенерированный исходный файл Java в ваш текущий рабочий каталог и скомпилированный файл.class и Файл.jar в /tmp/sqoop-/compile.", но это не моя проблема. Извините за мой плохой английский
1 ответ
Экспорт sqoop из таблиц улья может быть выполнен с использованием hcatalog. Пример команды -
bin/sqoop export
--connect jdbc:mysql://localhost:3306/dbtaobaz
--username db --password db --table user_log
--hcatalog-table user_log
--fields-terminated-by ',';