数据库 |
主机 |
测试库 |
MySQL |
192.168.1.22 |
confluence_test |
Hive |
集群 |
confluence_test |
可选参数说明
--direct:使用mysqldump工具,加快MySQL数据迁移速度
--target-dir:指定hive数据在HDFS中的存储路径(默认存储位置:/user/hive/warehouse/)
--delete-target-dir:如果指定目录存在,则先删除掉
--fields-terminated-by:设置字段分隔符
--hive-overwrite:覆盖Hive表中的现有数据
1、查看MySQL中的所有数据库
sudo -u hdfs \
sqoop list-databases \
--connect jdbc:mysql://192.168.1.22:23306/ \
--username root \
--password 6yhn^YHN
2、查看confluence_test库中的表
sudo -u hdfs \
sqoop list-tables \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN
3、查看user_mapping表中的数据
sudo -u hdfs \
sqoop eval \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--query "SELECT * FROM user_mapping;"
4、将user_mapping表导入Hive的confluence_test库
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--table user_mapping \
-m 1
5、将user_mapping表导入Hive的confluence_test库并命名为confluence_user
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--table user_mapping \
--hive-table confluence_user \
-m 1
6、将users表中id小于4的数据导入confluence_test库
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--table users \
--where "id<4" \
-m 1
7、将users表中id大于等于4的数据增量导入confluence_test库users表
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--table users \
--incremental append \
--check-column id \
--last-value 3 \
-m 1
8、将users表中id,name字段导入confluence_test库users_id表中
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--table users \
--hive-table users_id \
--columns id,name \
-m 1
9、查询出users表中id小于3的id,name数据,并导入confluence_test库users_name表中
sudo -u hdfs \
sqoop import \
--connect jdbc:mysql://192.168.1.22:23306/confluence_test \
--username root \
--password 6yhn^YHN \
--hive-import \
--hive-database confluence_test \
--hive-table users_name \
--query 'SELECT id,name FROM users where id < 3 AND $CONDITIONS' \
--target-dir /usr/1 \
-m 1