1、常用命令
·import 将数据导入到集群
bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--table student \
--target-dir /user/sqoop \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t"
·export 将集群中数据导出到关系型数据库
bin/sqoop export \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--export-dir /user/sqoop \
--table student \
--num-mappers 1 \
--input-fields-terminated-by "\t"
·codegen 将mysql数据库中的表导出,生成该数据表的Bean对象jar包
bin/sqoop codegen \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--table student \
--bindir /opt/module/data \
--class-name Student \
--fields-terminated-by "\t"
·create-hive-table 按照mysql数据表生成hive表
bin/sqoop create-hive-table \
--connect jdbc:mysql://hadoop102:3306/shcool \
--username root \
--password 123456 \
--table student \
--hive-table hive_student
·eval 将数据查询显示到控制台
bin/sqoop eval \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--query "select * from student"
·import-all-tables 将指定数据库中的表导入到hdfs文件系统中
bin/sqoop import-all-tables \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--warehouse-dir /user/hive/warehouse/alltables
·job 在sqoop中创建一个job以方便后续使用这个job
创建job
bin/sqoop job \
--create show_tables_job -- eval \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456 \
--query "select * from student"
查看job列表
bin/sqoop job --list
执行这条job
bin/sqoop job --exec show_tables_job
注意在执行这个job时需要填写mysql数据库密码
·list-databases 列出所有数据库
bin/sqoop list-databases \
--connect jdbc:mysql://hadoop102:3306 \
--username root \
--password 123456
·list-tables 列出所有数据表
bin/sqoop list-tables \
--connect jdbc:mysql://hadoop102:3306/school \
--username root \
--password 123456
·merge 合并,将hdfs文件系统中两个文件合并
原始数据
1 xiaoliu 22
2 zhangsan 25
3 lisi 28
新数据
1 xiaoliu 22
2 zhangsan 21
3 lisi 23
6 wangwu 20
使用命令
bin/sqoop merge \
--new-data /user/data/student01.txt \
--onto /user/data/student02.txt \
--target-dir /user/data/merged \
--jar-file /opt/module/data/Student.jar \
--class-name Student \
--merge-key id
将生成的合并后的文件指定在hdfs文件系统中
查看结果:
1 xiaoliu 22
2 zhangsan 25
3 lisi 28
6 wangwu 20