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