溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)遷移工具Sqoop怎么用

發(fā)布時間:2021-12-29 15:11:40 來源:億速云 閱讀:147 作者:柒染 欄目:大數(shù)據(jù)

數(shù)據(jù)遷移工具Sqoop怎么用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Sqoop 是一個用來將Hadoop和關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉(zhuǎn)移的工具,它是Hadoop環(huán)境下連接關(guān)系數(shù)據(jù)庫與Hadoop存儲系統(tǒng)的橋梁,支持多種關(guān)系型數(shù)據(jù)源和Hive、HDFS、Hbase的相互導(dǎo)入。支持全表導(dǎo)入,也支持增量數(shù)據(jù)導(dǎo)入機制,Sqoop工作機制利用MapReduce分布式批處理,加快了數(shù)據(jù)傳輸速度和容錯性。

選擇Sqoop理由:

1、可以高效的利用資源,可以通過調(diào)整任務(wù)數(shù)來控制任務(wù)的并發(fā)度。

2、可以自動地完成數(shù)據(jù)類型映射與轉(zhuǎn)換。導(dǎo)入的數(shù)據(jù)是有類型的,它可以自動根據(jù)數(shù)據(jù)庫中的類型轉(zhuǎn)換到Hadoop中,當(dāng)然也可以自定義他們的映射關(guān)系。

3、它支持多種數(shù)據(jù)庫,eg:mysql、Oracle、PostgreSQL。

Sqoop工作原理:

Sqoop利用MapReduce并行特點以批處理的方式加快數(shù)據(jù)傳輸,從而提供并發(fā)特征和容錯。Sqoop主要通過jdbc連接關(guān)系型數(shù)據(jù)庫,理論上只有關(guān)系型數(shù)據(jù)庫支持JDBC都可以使用Sqoop與HDFS進(jìn)行數(shù)據(jù)交互。

1、Sqoop從關(guān)系型數(shù)據(jù)庫導(dǎo)入HDFS的原理:用戶先輸入一個Sqoop import 命令,Sqoop會從關(guān)系型數(shù)據(jù)庫中獲取元數(shù)據(jù)信息,包括庫信息、表有哪些字段及字段類型等,獲取信息后會將導(dǎo)入命令轉(zhuǎn)換為基于Map的MapReduce任務(wù)。會開啟很多map任務(wù),每個map任務(wù)讀取一部分?jǐn)?shù)據(jù),多個map任務(wù)并行完成數(shù)據(jù)復(fù)制到HDFS分布式文件系統(tǒng)上。

數(shù)據(jù)遷移工具Sqoop怎么用

2、Sqoop導(dǎo)出功能原理:用戶輸入export命令,Sqoop會獲取關(guān)系型數(shù)據(jù)表結(jié)構(gòu)信息,建立與Hadoop字段有關(guān)系型數(shù)據(jù)庫表字段的映射關(guān)系,將命令轉(zhuǎn)換為基于Map的MapReduce作用,生產(chǎn)很多Map任務(wù),并行地從HDFS中讀取數(shù)據(jù)文件,將這個數(shù)據(jù)復(fù)制到數(shù)據(jù)庫中。

數(shù)據(jù)遷移工具Sqoop怎么用

Sqoop版本和架構(gòu)

Sqoop存在兩個版本,1.4.x和1.99.x,通常簡稱為sqoop1和sqoop2

Sqoop1架構(gòu)師使用Sqoop客戶端直接提交的方式,訪問方式是CLI控制臺方式進(jìn)行訪問,在命令或腳本中指定數(shù)據(jù)庫名及密碼。

數(shù)據(jù)遷移工具Sqoop怎么用

Sqoop2架構(gòu)引入了Sqoop Server,集中化管理Connector,提供多種訪問方式,如CLI、Web UI、REST API,同時Sqoop2通過CLI方式訪問會有一個交互式界面,使輸入的密碼信息不被看到。

數(shù)據(jù)遷移工具Sqoop怎么用

Sqoop不僅可以用于關(guān)系型數(shù)據(jù)庫與HDFS文件系統(tǒng)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換,也可以將數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫傳輸至Hive或Hbase,而對于數(shù)據(jù)從Hive或者Hbase 傳輸?shù)疥P(guān)系型數(shù)據(jù)庫來說,則可以從Hive或者Hbase將數(shù)據(jù)提取至HDFS,然后使用Sqoop將上一步的輸出導(dǎo)入到關(guān)系數(shù)據(jù)庫。

使用Sqoop增量導(dǎo)入有append 和 lastmodified兩種模式,lastmodified模式區(qū)別于apend是可以指定一個時間戳字段,按時間順序?qū)?,這個模型可以指定增量數(shù)據(jù)在HDFS的方式,比如最終增量結(jié)果為一個文件。

需要在應(yīng)用的主要參數(shù):

-check-column:指定增量導(dǎo)入的依賴字段,通常為自增的主鍵id或者時間戳

-incremental:指定導(dǎo)入模式(append 或者lastmodified)

-last-value:指定導(dǎo)入的上次最大值,也是這次的開始值。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI