Sqoop 匯入及匯出表資料子集命令詳解

2022-06-29 05:45:12 字數 3017 閱讀 8293

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