美文网首页
sqoop数据导出导入命令

sqoop数据导出导入命令

作者: J_J_Hui | 来源:发表于2020-03-23 22:23 被阅读0次

    1. 将mysql中的数据导入到hive中

    sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username root --password 123456 --table tb1 --hive-table tb1 --hive-import -m 1

    其中--table tb1是mysql sqoop数据库中的一张表,--hive-table tb1是导入到hive中该表的名字,不需要事先建表。

    2. 将hive中的数据导入到mysql中

    sqoop export --connect jdbc:mysql://localhost:3306/sqoop --username root --password 123456 --direct --table t4 --export-dir /user/hive/warehouse/tb1/part-m-00000 --input-fields-terminated-by '\001'

    --table t4是导入到mysql中表的名字,需要事先建表

    3. 将mysql中的数据导入到hdfs中

    sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username root --password 123456 --table tb1 -m 1

    4. 将hdfs中的数据导入到mysql中

    sqoop export --connect jdbc:mysql://localhost:3306/sqoop --direct --table tb1 --username root --password 123456 --export-dir hdfs://localhost:9000/user/hadoop/tb1/part-m-00000 -m 1

    同样需先在mysql中建立tb1表

    在用sqoop将mysql中的数据导入到hdfs中,曾报以下错误:

    java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@54b0a583 is still active. No statements may be issued when any streaming result sets are open andinuse on a given connection. Ensure that you have called .close() on any active streaming result sets before attemptingmorequeries.

    经查询,为mysql JDBC驱动bug所致,我用的是mysql-connector-java-5.1.10-bin.jar版本的,后改为mysql-connector-java-5.1.25-bin.jar版本的就没有问题了

    相关文章

      网友评论

          本文标题:sqoop数据导出导入命令

          本文链接:https://www.haomeiwen.com/subject/trngyhtx.html