导出sqoop命令出错

时间:2016-08-30 17:51:03

标签: mysql hadoop hdfs sqoop

我在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)

1 个答案:

答案 0 :(得分:2)

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

根据Sqoop docs

  

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

此外,

  

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

因此,在命令中添加--driver com.mysql.jdbc.Driver