导入数据
导入从非大数据集群(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 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 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
第二步:查看结果
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
该过程分为两步,第一步将数据导入到HDFS(默认位置是/user/hc/表名),第二步将导入到HDFS的数据迁移到Hive仓库。
第二步:查看结果:
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'
第四步:查看MySQL中的数据:
脚本打包
第一步:创建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'
第二步:执行脚本:
第三步:查看结果
