mysql - export sqoop 命令出错

标签 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)

最佳答案

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

根据 Sqoop docs ,

You can use Sqoop with any other JDBC-compliant database. First, download the appropriate JDBC driver for the type of database you want to import, and install the .jar file in the $SQOOP_HOME/lib directory on your client machine

此外,

Each driver .jar file also has a specific driver class which defines the entry-point to the driver. For example, MySQL’s Connector/J library has a driver class of com.mysql.jdbc.Driver. Refer to your database vendor-specific documentation to determine the main driver class. This class must be provided as an argument to Sqoop with --driver.

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

关于mysql - export sqoop 命令出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39234036/

相关文章:

mysql - 存储在另一列中的几个 MySQL 列的总和?

php - 为什么我的变量没有在 php mysqli for 循环中更新?

java - 使用 Java API 在 Hadoop 中移动文件?

MySQL,从id匹配且时间戳早于current_time的多个表中删除

php - 我如何重定向到 php 中的页面?

hadoop - Hive/Impala - 在层次结构表中查找结束子节点

hadoop - OOZIE:全局作业 xml 中引用的文件中定义的属性在 workflow.xml 中不可见

Hadoop Yarn 容器没有分配足够的空间

hadoop - map-reduce 是如何工作的……我做对了吗?

hadoop - 大 gz 文件上的 Mapreduce