sqoop工具資料遷移

2021-07-24 16:03:36 字數 2480 閱讀 5569

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

sqoop是乙個工具是可以單機執行的,只需要啟動hdfs、yarn(sqoop底層是執行mapreduce程式,所以要啟動yarn)和mysql,安裝上sqoop就可以實現了。

執行下面命令將mysql中的資料匯入到hdfs
sqoop

import--

connect

jdbc:mysql://192

.168.1

.112:3306/ecshop--

username

root--

password

root--

table

ecs_account_log#-

-connect

[mysql連線位址和database]-

-username

[使用者名稱]-

-password[密碼

]--table[表名

]

執行時控制台會列印出我們熟悉的mapreduce程式執行過程,執行後可以到hdfs的檔案管理介面看到這樣的目錄

/user/你的登陸使用者名稱/表明

以上是比較簡單的語句,我們還可以自定義很多東西實現我們的需求

.

/sqoop

import--

connect

jdbc:mysql://192

.168.1

.112:3306/ecshop--

username

root--

password

root--

table

ecs_account_log--

target

-dir

/sqoop/td4-m

2--fields

-terminated-by

'\t'--

columns

"log_id

,user_id

,user_money"--

target

-dir

[輸出路徑]-

m[map任務個數]-

-fields

-terminated-by

[以什麼分割]#

--columns

[獲取哪些列

]

.

/sqoop

import--

connect

jdbc:mysql://192

.168.1

.112:3306/ecshop--

username

root--

password

root--

table

ecs_account_log--

target

-dir

/sqoop/td5-m

2--fields

-terminated-by

'\t'--

where

'log_id > 2'#-

-where[條件

]

.

/sqoop

import--

connect

jdbc:mysql://192

.168.1

.112:3306/ecshop--

username

root--

password

root--

query

'select

*from

ecs_account_log

where

log_id > 5

and$conditions'-

-split-by

log_id--

target

-dir

/sqoop/td6-m

2#--

query

[自定義查詢語句]-

-split-by

[指定分隔引數

,通常使用主鍵id

]注意當你使用--

query時-m

不為1map任務不為1時就要指定--

split

-by引數了

sqoop資料遷移工具

注 為了表達清晰做了換行,執行時請放在一行中,使用空格隔開,或者加 進行行連線 在profiles中新增sqoop到環境變數 將資料庫連線驅動拷貝到 sqoop home lib裡 sqoop import connect jdbc mysql username root password 123 ...

字段型別 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...