將資料從別的資料庫導到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 個街區去上...