sqoop命令詳解
案例1:將mysql表test中的資料匯入hive的hivetest表,hive的hivetest表不存在。
sqoop import --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456 --table my_user --hive-table hivetest --hive-import -m 1
案例2:在案例1的基礎上,分別進行overwrite(覆蓋)匯入和into(直接加入)匯入。
into: 命令同案例1
overwrite:
sqoop import --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456 --table test --hive-table hivetest --hive-import -m 1 --hive-overwrite
案例3:在案例2的基礎上,通過增加mysql的test表資料,增量匯入到hive表中。
sqoop import --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456 --table test --where "id>9" --hive-table hivetest --hive-import -m 1
或者sqoop import --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456 --table test --query "select id,name from test where id>9" --hive-table hivetest --hive-import -m 1
案例4:將test表中的資料匯出到使用','分割欄位的hive表(hivetest2)中。
建立表: create table hivetest2(id int,name string) row format delimited fields terminated by ',';
sqoop:
sqoop import --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456 --table test --hive-table hivetest2 --hive-import -m 1 --fields-terminated-by ","
案例5:將partitions表的資料匯入到hdfs中。
可以看到hdfs有生成檔案
cat一下
案例6:在案例5的基礎上,增量匯入資料到hdfs中。
案例1:將hdfs上的檔案匯出到關係型資料庫test2表中。
案例2:將hive表(hivetest)資料匯出到關係型資料庫test2表中(使用insertorupdate方法匯入)。
hivetest表只留id為1,2,3,4,5的資料,其他資料刪除。
hivetest表分隔方式是'\u0001',但是export命令預設使用','分隔資料
sqoop export --connect jdbc:mysql://hadoop-001:3306/test --username root --password hive --table test2 --export-dir /hive/hivetest --input-fields-terminated-by "\\01" --update-mode
allowinsert --update-key id
list-databases命令
sqoop list-databases --connect jdbc:mysql://hadoop-001:3306 --username root --password 123456
list-tables
sqoop list-tables --connect jdbc:mysql://hadoop-001:3306/default --username root --password 123456
create-hive-table命令
sqoop create-hive-table --connect jdbc:mysql://hadoop-001:3306/test --username root --password 123456--table test --hive-table hivetest
help命令
Sqoop(二) Sqoop匯入 匯出資料
1.2 rdbms hive 1.3 rdbms hbase 2.匯出資料 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。sqoop import connect jdbc mysql top...
sqoop匯入匯出
sqoop官方手冊位址 最近在看sqoop有些感想,就寫下來。sqoop是大資料裡面匯入匯出的乙個工具。關於import匯出 可以從mysql匯出到hdfs,hbase,hive,案例如下,這是乙個匯出到hdfs的案例 import connect jdbc mysql username root ...
sqoop匯入 匯出
全部匯入 sqoop import connect jdbc mysql hadoop01 3306 test1 username root password 1234 table students target dir user test1 delete target dir fields ter...