【问题标题】:Sqoop export errorSqoop 导出错误
【发布时间】:2019-03-24 21:48:44
【问题描述】:

我使用 Sqoop 1.4.4 将数据从 hdfs 导出到 mysql。 并得到以下错误:

bin/sqoop export --connect jdbc:mysql://127.0.0.1:3306/rec --username root --password root --table rec_temp --export-dir hdfs://127.0.0.1:9000//user/hdfs/part-r-00000 input-lines-terminated-by ' '    

14/12/20 17:14:04 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
14/12/20 17:14:04 INFO tool.CodeGenTool: Beginning code generation
14/12/20 17:14:05 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `rec_temp` AS t LIMIT 1
14/12/20 17:14:05 ERROR manager.SqlManager: Error reading from database: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@76b03b7f 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@76b03b7f 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.

更多信息:

part-r-00000 data:
1   [105:1.1617604]
.....

mysql> describe rec_temp;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| user_id   | int(11) | NO   | PRI | NULL    |       |
| rec_value | text    | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+

你能帮我解决这个问题吗?谢谢!

【问题讨论】:

    标签: mysql hdfs sqoop


    【解决方案1】:

    在 sqoop 中也有类似的 bug 报告了here。请验证您正在使用的正确 MySQL 连接器版本和 sqoop 版本,并根据需要更新版本。希望这能解决您的问题。谢谢。

    【讨论】:

    • 更改 MySQL 连接器版本后错误消失。谢谢!
    【解决方案2】:

    如@Sachin 所说,尝试使用另一个 mysql 驱动程序版本。

    它不适用于 sqoop-1.6.1 + mysql-connector-java-5.0.8.tar,但是当我更改为 mysql-connector-java-5.1.17.jar 时工作正常

    【讨论】:

      【解决方案3】:

      添加--driver com.mysql.jdbc.Driver --direct 例如,这对我有用:

      sqoop export --connect jdbc:mysql://sandbox.hortonworks.com:3306/retail_db --username retail_dba --password hadoop --driver com.mysql.jdbc.Driver --direct --export-dir /user/horton/weather --table weather
      

      【讨论】:

        猜你喜欢
        • 2015-09-25
        • 1970-01-01
        • 1970-01-01
        • 2018-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-04
        • 1970-01-01
        相关资源
        最近更新 更多