本篇文章主要举一些实时案例来展现Sqoop把HDFS数据导入到MySQL的功能实现。
1.数据类型如下:
1 tom 20
2 tomas 30
3 tomason 40
复制
sqoop export --connect jdbc:mysql://192.168.79.1:3306/big14 --username root --password root --table user_test --columns id,name,age --export-dir test.txt -m 1 --input-fields-terminated-by '\t' --input-lines-terminated-by '\n'
复制
2.数据类型如下:
tom 20
tomas 30
tomason 40
复制
//导出到mysql表中,表中含有id主键为自增字段
sqoop export --connect jdbc:mysql://192.168.79.1:3306/big14 --username root --password root --table user_test --columns name,age --export-dir test2.txt -m 1 --input-fields-terminated-by '\t' --input-lines-terminated-by '\n'
复制
增量导出 allowinsert
sqoop export --connect jdbc:mysql://192.168.79.1:3306/big14 --username root --password root --table user_test --columns id,name,age --export-dir /test.txt -m 1 --input-fields-terminated-by '\t' --input-lines-terminated-by '\n' --update-key name --update-mode allowinsert
复制
增量导出 updateonly
sqoop export --connect jdbc:mysql://192.168.79.1:3306/big14 --username root --password root --table user_test --columns name,age --export-dir test.txt -m 1 --input-fields-terminated-by '\t' --input-lines-terminated-by '\n' --update-key name --update-mode updateonly
复制
将hive数据导出到mysql需要注意:
==========================================
首先,判断hive文件存储格式
1、如果是text,直接以分隔符方式,以hdfs文件导出形式进行导出
2、如果不是text,则需要将其转储为text格式,并将其导出
导出参数
-------------------------------------------
--batch //批量模式
--columns <col,col,col...> //指定导出列
--direct //使用直接模式,更快导出
--export-dir <dir> //指定hdfs文件位置
-m,--num-mappers <n>
--table <table-name> //指定mysql表
--update-key <key> //
--update-mode <mode> //updateonly //指定--update-key的列进行检查,修改的数据会进行update操作
//allowinsert //在以上基础上,如果有新数据产生,则会进行插入操作
//弊端:必须在column中指定主键
以上就是今天的所有内容啦。希望能在你学习的路上帮到你,要是觉得还不错请识别以下二维码关注或转发吧,感谢支持!
推荐阅读: