Sqoop使用

说明

导入:从其他数据源写入"hdfs"
导出:从"hdfs"写入到其他存储设施
表名和字段不能有中文

MySQL –> HDFS

导入整个数据表 (默认使用MySQL的3306端口)

sqoop import --connect jdbc:mysql://172.16.1.150/mysql --username root --password 123456 --table zhilianjobs --target-dir /hive_table/zhilianjobs -m -1 --fields-terminated-by '|' --columns name,space,pay,skill;

导入查询结果

sqoop import --connect jdbc:mysql://172.16.1.150/mysql --username root --password 123456 --query 'select * from zhilianjobs WHERE $CONDITIONS' --target-dir /hive_table/zhilianjobs --delete-target-dir -m 1 --fields-terminated-by '|';

MySQL –> Hive

实现原理:https://www.cnblogs.com/xuyou551/p/7998846.html

导入整张数据表到hive

sqoop import --connect jdbc:mysql://172.16.1.150/mysql --username root --password 123456 --table zhilianjobs  --fields-terminated-by '|' --delete-target-dir -m 1  --hive-import --hive-database default --hive-table zljobsTest;

导入数据表的指定字段到hive

sqoop import --connect jdbc:mysql://172.16.1.150/mysql --username root --password 123456 --table zhilianjobs --columns 'name,space,pay,skill' --where '1=1'  --fields-terminated-by '|' --delete-target-dir -m 1  --hive-import --hive-database default --hive-table zljobs;

MySQL –> Hbase

sqoop import -D sqoop.hbase.add.row.key=true --connect jdbc:mysql://172.16.1.150/mysql --username root --password 123456 --table zhilianjobs --columns ID,NAME,SPACE,PAY,SKILL --hbase-create-table --hbase-table zljobstest --column-family data --hbase-row-key ID --where "ID>=0"  -m 1;

Hive –> MySQL

导出整张数据表

sqoop export --connect jdbc:mysql://172.16.1.150/mysql? useUnicode=true&characterEncoding=utf8 --username root --password 123456 --table zhilianjobsTest --export-dir /user/hive/warehouse/zljobstest  --fields-terminated-by '|';

导出相对于MySQL数据表新增的数据

sqoop export --connect jdbc:mysql://172.16.1.150:3306/testdb --username root --password 123456 --table test_table --fields-terminated-by ',' --update-key id --update-mode allowinsert --export-dir /user/hive/warehouse/wht_test1

导出相对于MySQL修改过的数据,不会导入新增的数据

sqoop export --connect jdbc:mysql://172.16.1.150:3306/wht --username root --password 123456 --table wht_test2 --fields-terminated-by ',' --update-key c_id --update-mode updateonly  --export-dir /user/hive/warehouse/wht_test1

HDFS –> MySQL

和Hive –> MySQL一样

上一篇:sqoop的介绍以及部署安装


下一篇:sqoop的安装部署