Sqoop案例

导入数据

导入从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,关键字import。

RDBMS到HDFS

示例1:全部导入

第一步:执行脚本:
sqoop import
–connect jdbc:mysql://hcmaster:3306/db_test
–username root
–password root
–table tb_dept
–target-dir /dept
–delete-target-dir
–num-mappers 1
–fields-terminated-by “\t”
Sqoop案例_第1张图片
第二步:查看结果
Sqoop案例_第2张图片

查询导入

第一步:执行脚本 :

sqoop import \
--connect jdbc:mysql://hcmaster:3306/db_test \
--username root \
--password root \
--target-dir /dept \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--query 'select deptno,dname,loc from tb_dept where deptno>20 and $CONDITIONS;'

Sqoop案例_第3张图片
第二步:查看结果:
Sqoop案例_第4张图片

导入指定列

第一步:执行脚本

sqoop import \
--connect jdbc:mysql://hcmaster:3306/db_test \
--username root \
--password root \
--target-dir /dept \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--columns deptno,dname \
--table tb_dept

Sqoop案例_第5张图片
第二步:查看结果
Sqoop案例_第6张图片

RDBMS到Hive

第一步:执行脚本:

sqoop import \
--connect jdbc:mysql://hcmaster:3306/db_test \
--username root \
--password root \
--table tb_dept \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table tb_dept

Sqoop案例_第7张图片
该过程分为两步,第一步将数据导入到HDFS(默认位置是/user/hc/表名),第二步将导入到HDFS的数据迁移到Hive仓库。
第二步:查看结果:
Sqoop案例_第8张图片

RDBMS到HBase

导出数据:HIVE/HDFS中的数据导出到RDBMS

导出指从大数据集群(HDFS,HIVE,HBASE)向非大数据集群(RDBMS)中传输数据,即使用export关键字。

示例:将HDFS中的数据导出到MySQL中。
第一步:将dept.txt上传到/user/hive/warehouse/tb_dept下面。
第二步:在MySQL的db_test中创建表tb_dept。
第三步:执行导出语句:

sqoop export \
--connect jdbc:mysql://hcmaster:3306/db_test \
--username root \
--password root \
--table tb_dept \
--num-mappers 1 \
--export-dir /user/hive/warehouse/tb_dept \
--input-fields-terminated-by '\t'

Sqoop案例_第9张图片
第四步:查看MySQL中的数据:
Sqoop案例_第10张图片

脚本打包

第一步:创建hdfs2rdbms.opt脚本文件:

export
--connect
jdbc:mysql://hcmaster:3306/db_test
--username
root
--password
root
--table
tb_dept
--num-mappers
1
--export-dir
/user/hive/warehouse/tb_dept
--input-fields-terminated-by
'\t'

Sqoop案例_第11张图片
第二步:执行脚本:
Sqoop案例_第12张图片
第三步:查看结果
Sqoop案例_第13张图片

你可能感兴趣的:(#,Sqoop)