SQOOP无法导入表格

 beyondxzw_695 发布于 2023-01-29 06:55

我正在sqoop上运行命令

sqoop import --connect jdbc:mysql://localhost/hadoopguide --table widgets

我的sqoop版本:Sqoop 1.4.4.2.0.6.1-101
Hadoop - Hadoop 2.2.0.2.0.6.0-101

两者均取自hortonworks分销.HADOOP_HOME,HCAT_HOME,SQOOP_HOME等所有路径都已正确设置.我可以通过在sqoop中运行list-database,list-tables命令从mysql数据库获取数据库列表,表列表.甚至能够从--query'select*from widgets'获取数据; 但是当我使用--table选项低于错误.

14/02/06 14:02:17 WARN mapred.LocalJobRunner: job_local177721176_0001
java.lang.Exception: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class widgets not found
        at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:403)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class widgets not found
        at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
        at org.apache.sqoop.mapreduce.db.DBConfiguration.getInputClass(DBConfiguration.java:394)
        at org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat.createDBRecordReader(DataDrivenDBInputFormat.java:233)
        at org.apache.sqoop.mapreduce.db.DBInputFormat.createRecordReader(DBInputFormat.java:236)
        at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.(MapTask.java:491)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:734)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
        at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:235)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: Class widgets not found
        at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1626)
        at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1718)
        ... 13 more

小智.. 6

指定--bindir编译的代码和.jar文件的位置.

如果没有这些参数,Sqoop会将生成的Java源文件放在当前工作目录中,并将编译后的.class文件和.jar文件放入/tmp/sqoop-/compile.

2 个回答
  • 指定--bindir编译的代码和.jar文件的位置.

    如果没有这些参数,Sqoop会将生成的Java源文件放在当前工作目录中,并将编译后的.class文件和.jar文件放入/tmp/sqoop-<username>/compile.

    2023-01-29 07:20 回答
  • 使用该--bindir选项并指向当前的工作目录.

    sqoop import --bindir ./ --connect jdbc:mysql://localhost/hadoopguide --table widgets
    

    2023-01-29 07:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有