使用mysql的sqoop导入问题

Bob*_*ose 5 hadoop hbase hive sqoop

我有一个基于cdh5的hadoop ha设置.我试图通过使用sqoop从mysql导入表失败并出现以下错误.

15/03/20 12:47:53 ERROR manager.SqlManager: Error reading from database: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@33573e93 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@33573e93 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
Run Code Online (Sandbox Code Playgroud)

我使用了以下命令..

sqoop import --connect jdbc:mysql://<mysql hostname>:3306/haddata --username root --password password --table authors --hive-import
Run Code Online (Sandbox Code Playgroud)

我的mysql服务器版本是5.1.73-3.并使用了mysql-connector-java的5.1.34和5.1.17版本

sqoop version is 1.4.5-cdh5.3.2
Run Code Online (Sandbox Code Playgroud)

请告诉我任何建议/意见.

小智 27

尝试在import命令中包含选项--driver com.mysql.jdbc.Driver.


hel*_*hek 11

尝试使用以下修改过的命令,它可以满足您的目的

sqoop import --connect jdbc:mysql://<mysql hostname>:3306/haddata --driver com.mysql.jdbc.Driver --username root --password password --table authors --hive-import
Run Code Online (Sandbox Code Playgroud)


小智 7

点击此链接

--driver com.mysql.jdbc.Driver在sqoop命令中包含驱动程序参数.

sqoop import --connect jdbc:mysql://<mysql hostname>:3306/<db name> --username **** --password **** --table <table name> --hive-import --driver com.mysql.jdbc.Driver

--driver参数强制sqoop使用在sqoop机器上为mysql db安装的最新mysql-connector-java.jar


Sra*_*ddy 2

尝试使用 mysql-connector-java-5.1.31.jar,它与 sqoop 1.4.5 兼容。

mysql-connector-java-5.1.17.jar 驱动程序不适用于 sqoop 1.4.5。

参考 :

https://issues.apache.org/jira/browse/SQOOP-1400