sqoop資料遷移工具

2021-07-11 12:53:56 字數 2808 閱讀 8511

(注:**為了表達清晰做了換行,執行時請放在一行中,使用空格隔開,或者加』\』進行行連線)

在profiles中新增sqoop到環境變數

將資料庫連線驅動拷貝到$sqoop_home/lib裡

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--table trade_detail

--columns 'id, account, income, expenses'

如果不指定列,則預設匯出所有的列,**例如:

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--table orders

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--table tablename

--target-dir '/sqoop/td'(hdfs的目錄)

--fields-terminated-by '\t'

./sqoop import

--connect jdbc:mysql:

--username root

--password 123

--table orders

--target-dir /sqoop

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--table trade_detail

--target-dir '/sqoop/td1'

--fields-terminated-by '\t'

-m 2

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--table trade_detail

--where 'id>3'

--target-dir '/sqoop/td2'

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123 \

--query 'select * from trade_detail where id > 2 and $conditions'

--split-by trade_detail.id

--target-dir '/sqoop/td3'

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--query 'select * from orders where id < 5 and $conditions'

-m 1

--target-dir /sqoop/td4 (字元轉義有錯 在記事本裡敲一遍再執行)

注意:如果使用–query這個命令的時候,需要注意的是where後面的引數,and $conditions這個引數必須加上

而且存在單引號與雙引號的區別,如果–query後面使用的是雙引號,那麼需要在$conditions前加上 \ 轉義 即 \$conditions

./sqoop import 

--connect jdbc:mysql:

--username root

--password 123

--query 'select * from orders where id < 5 and $conditions' -m 1

--target-dir /sqoop/td4

--split-by user_id

./sqoop export 

--connect jdbc:mysql:

--username root

--password 123

--export-dir '/td3'

--table td_bak -m 1

--fields-terminated-by ','

注意:匯出資料時,要清楚源資料的列分隔符是什麼,並且要求如果不是預設的分隔符,一定要指定出來

指定分隔符 –fields-terminated-by

--fields-terminated-by ','
以逗號作為分隔符

grant all privileges on itcast.* to 'root'@'192.168.1.201' identified by '123' with grant option;

flush privileges;

grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;

flush privileges

sqoop工具資料遷移

sqoop 發音 skup 是一款開源的工具,主要用於在hadoop hive 與傳統的資料庫 mysql postgresql 間進行資料的傳遞,可以將乙個關係型資料庫 例如 mysql oracle postgres等 中的資料導進到hadoop的hdfs中,也可以將hdfs的資料導進到關係型資...

字段型別 sqoop 資料遷移工具Sqoop

熬過去,出眾。熬不過,出局。這是最真實的人生,人都是熬過來的。sqoop 是乙個用來將hadoop和關係型資料庫中的資料相互轉移的工具,它是hadoop環境下連線關聯式資料庫與hadoop儲存系統的橋梁,支援多種關係型資料來源和hive hdfs hbase的相互匯入。支援全表匯入,也支援增量資料匯...

sqoop資料遷移

sqoop list databases connect jdbc mysql hadoop1 3306 username root password rootsqoop list tables connect jdbc mysql hadoop1 3306 test username root p...