【问题标题】:Error in export sqoop command导出 sqoop 命令出错
【发布时间】:2016-08-31 02:25:27
【问题描述】:

我在sqoop 中使用导出命令,在从hdfs 导出到MySQL 时遇到此错误 命令是:

sqoop export 
--connect jdbc:mysql://localhost/property 
--username root 
--password root 
--table xyz 
--m 1 
--export-dir abc.csv 

错误是:

16/08/30 23:11:33 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
16/08/30 23:11:34 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
16/08/30 23:11:34 INFO tool.CodeGenTool: Beginning code generation
16/08/30 23:11:34 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver
java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:848)
    at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:736)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:759)
    at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:269)
    at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:240)
    at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:226)
    at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295)
    at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1773)
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1578)
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
    at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:64)
    at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

【问题讨论】:

    标签: mysql hadoop hdfs sqoop


    【解决方案1】:

    $SQOOP_HOME/lib 中添加mysql-connector.jar

    根据 Sqoop docs

    您可以将 Sqoop 与任何其他 JDBC 兼容的数据库一起使用。首先,为您要导入的数据库类型下载适当的 JDBC 驱动程序,然后在您的客户端计算机上的$SQOOP_HOME/lib 目录中安装.jar 文件

    还有,

    每个驱动程序.jar 文件也有一个特定的驱动程序类,它定义了驱动程序的入口点。例如,MySQL 的 Connector/J 库有一个驱动程序类com.mysql.jdbc.Driver。请参阅您的数据库供应商特定文档以确定主要驱动程序类。此类必须作为参数提供给 Sqoop,使用 --driver

    所以,在你的命令中添加--driver com.mysql.jdbc.Driver

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 2022-01-27
      • 2017-08-21
      相关资源
      最近更新 更多