大資料技術sqoop外掛程式使用引數詳解

2021-08-14 04:06:29 字數 2899 閱讀 8811

1、常用命令

·import 將資料匯入到集群

bin/sqoop import \

--connect jdbc:mysql://hadoop102:3306/school \

--username root \

--password 123456 \

--table student \

--target-dir /user/sqoop \

--delete-target-dir \

--fields-terminated-by "\t"

·export 將集群中資料匯出到關係型資料庫

bin/sqoop export \

--connect jdbc:mysql://hadoop102:3306/school \

--username root \

--password 123456 \

--export-dir /user/sqoop \

--table student \

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

大資料 八 Sqoop

sqoop是什麼 sqoop sql to hadoop 連線 傳統關係型資料庫 和 hadoop 的橋梁 把關係型資料庫的資料匯入到 hadoop 系統 如 hdfs hbase 和 hive 中 把資料從 hadoop 系統裡抽取並匯出到關係型資料庫裡。利用mapreduce加快資料傳輸速度 將...

大資料 Sqoop簡介

sqoop 發音 skup 是sql to hadoop的縮寫,是一款開源的工具,主要用來在hadoop和關係資料之間交換資料,可以改進資料的資料的互操作性。通過sqoop,可以方便地將資料從mysql oracle postgresql等關聯式資料庫中匯入hadoop 比如匯入到hdfs hbas...

大資料Sqoop系列之Sqoop匯入匯出資料

鏈結mysql資料庫url connect jdbc mysql 鏈結mysql資料庫使用者名稱 username root 鏈結mysql資料庫密碼 password 123456 鏈結mysql資料庫中的表 table tb1 設定map的個數 設定匯入到hdfs檔案所在的位置 target d...