什麼是Sqoop,以及應用

2021-09-05 08:08:50 字數 2597 閱讀 7138

將資料從別的資料庫導到hadoop、hbase或hive太麻煩了。

sqoop就是hadoop、hive、hbase等資料倉儲與資料庫之間傳輸資料的工具。,就是將匯入(輸入)和匯出(輸出)的命令對映成mr程式。

匯入:mysql等資料庫資料匯入到hdfs、hive、hbase等資料倉儲

匯出:hadoop匯出資料到資料庫

全表資料匯入:

bin/sqoop import

--connect jdbc:mysql:

--username root

--password root

--table user

--target-dir /user/sqoop/user

--delete-target-dir

--fields-terminated-by "\t"

部分資料匯入:

bin/sqoop import

--connect jdbc:mysql:

--username root

--password root

--target-dir /user/sqoop/user

--delete-target-dir

--fields-terminated-by "\t"

--query 'select name from user where id <= 10 and $conditions'; 

匯入指定的列:

bin/sqoop import

--connect jdbc:mysql:

--username root

--password root

--target-dir /user/sqoop/user

--delete-target-dir

--fields-terminated-by "\t"

--table user

--columns id,name;

sqoop關鍵字篩選資料匯入:

bin/sqoop import

--connect jdbc:mysql:

--username root

--password root

--target-dir /user/sqoop/user

--delete-target-dir

--fields-terminated-by "\t"

--table user

--where id=3;

匯入資料到hive:

bin/sqoop import

--connect jdbc:mysql:

--username root

--password root

--table user

--hive-import

--hive-table user

--fields-terminated-by '\t'

--hive-overwrite

--delete-target-dir

--hive-table levi.user;

備註:如果匯入的表在hive中是沒有的,那麼則會到default資料庫

匯入過程:將資料分割後,輸出到乙個檔案中,把這個檔案弄到hdfs,並且在metastore中生成對應關係的元資料

匯出資料到rdbms:

bin/sqoop export

--connect jdbc:mysql:

--username root

--password root

--table user

--export-dir /user/sqoop/user

--input-fields-terminated-by '\t';

備註:假設是mysql資料庫,如果資料庫中沒有表則會報錯

定義job:

bin/sqoop job --create jobname

-- import

--connect jdbc:mysql:

--username root

--password root

--table user

--target-dir /user/sqoop/user

--delete-target-dir

--fields-terminated-by "\t"

檢視job:bin/sqoop job --list

執行job:bin/sqoop job --exec jobname

驗證作業情況:bin/sqoop job --show jobname

Sqoop架構以及應用介紹

sqoop import connect jdbc mysql hadoop80 3306 hive table consumer username root password admin target dir outdir fields terminated by t m 1執行結果如下圖所示 通...

Sqoop架構以及應用介紹

sqoop import connect jdbc mysql hadoop80 3306 hive table consumer username root password admin target dir outdir fields terminated by t m 1執行結果如下圖所示 通...

什麼是 Catalan 數列以及其應用

有 2n 個人排成一行進入劇場。入場費 5 元。其中只有 n 個人有一張 5 元鈔票,另外 n 人只有 10 元鈔票,劇院無其它鈔票,問有多少中方法使得只要有 10 元的人買票,售票處就有 5 元的鈔票找零?一位大城市的律師在她住所以北 n 個街區和以東 n 個街區處工作。每天她走 2n 個街區去上...