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 and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
经查询,为MysqL JDBC驱动bug所致,我用的是mysql-connector-java-5.1.10-bin.jar版本的,后改为mysql-connector-java-5.1.25-bin.jar版本的就没有问题了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。