Sqoop架構以及應用介紹

2021-08-14 21:12:23 字數 3908 閱讀 1133

sqoop

import--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

target

-dir

/outdir/--

fields

-terminated-by

'\t'-m

1

執行結果如下圖所示:

通過sqoop這個工具就將我們mysql資料庫中的資料匯入到了hdfs中,上面的shell命令類似我們下面的shell操作:

hadoop jar   copy.jar   mysql://hadoop80:3306/hive

/consumer /outdir

/

sqoop

import--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

target

-dir

/outdir/--

fields

-terminated-by

'\t'-m

1--incremental--

check

-columnid-

-last

-value

4

增量匯入的結果如下圖所示:

從執行結果可以看出,輸出結果多了乙個part-m-00001,而該檔案中所包含的內容為:

檔案中的內容正是剛剛我們新增加的兩條記錄。

3、批量匯入

從上面匯入的命令可以看出,命令列包含的命令太多了,太麻煩了,因此如果類似的作業太多的話,我們應該將其設定為乙個作業,做成乙個指令碼檔案。

建立批指令碼作業的shell命令:

sqoop

job-

-create

job001--

import--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

target

-dir

/outdir/--

fields

-terminated-by

'\t'-m

1

sqoop

import--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

hive

-import--

create

-hive

-table--

hive

-tabled1.

table1--

fields

-terminated-by

'\t'-m

1

執行結果如下圖所示:

通過sqoop這個工具就將我們mysql資料庫中的資料匯入到了hive資料倉儲中,上面的shell命令類似我們下面的shell操作:

hadoop jar copy.jar  mysql://hadoop80:3306/hive

/consumer /hive

/d1.table1

sqoop

import--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

hbase

-create

-table--

hbase

-tablea-

-column

-family

infor--

hbase

-row

-keyid-

-fields

-terminated-by

'\t'-m

1

執行結果如下:

通過sqoop這個工具就將我們mysql資料庫中的資料匯入到了hbase中,上面的shell命令類似我們下面的shell操作:

下面給大家舉乙個例子進行相應的說明:假設將hdfs中的t1表通過sqoop匯入到mysql中的consumer表(事先必須存在):

hdfs中t1表的內容:

mysql中已經建立好的consumer表:

shell命令如下:

sqoop

export--

connect

jdbc:mysql://hadoop80:3306/hive--

table

consumer--

username

root--

password

admin--

export

-dir

/outdir/--

fields

-terminated-by

'\t'-m

1

執行結果,資料從hdfs的t1檔案中成功的匯入到了mysql中的consumer表中:

注:從hadoop向資料庫中匯入資料時,資料庫中相應的表事先必須建立好。

(三)總結

sqoop作為乙個用來將關係型資料庫和hadoop中的資料進行相互轉移的工具,對於我們來說更重要的在於靈活的運用這個工具。

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,以及應用

將資料從別的資料庫導到hadoop hbase或hive太麻煩了。sqoop就是hadoop hive hbase等資料倉儲與資料庫之間傳輸資料的工具。就是將匯入 輸入 和匯出 輸出 的命令對映成mr程式。匯入 mysql等資料庫資料匯入到hdfs hive hbase等資料倉儲 匯出 hadoop...

前端架構 MVC以及MVVM MVP介紹

mvc model view controller 模型 檢視 控制器 用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯.它強制性的使應用程式的輸入 處理和輸出分開。最典型的mvc就是jsp servlet ...