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 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'

在這裏插入圖片描述
第二步:執行腳本:
在這裏插入圖片描述
第三步:查看結果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章