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

2021-10-16 06:17:47 字數 1771 閱讀 2102

熬過去,出眾。

熬不過,出局。

這是最真實的人生,人都是熬過來的。

sqoop 是乙個用來將hadoop和關係型資料庫中的資料相互轉移的工具,它是hadoop環境下連線關聯式資料庫與hadoop儲存系統的橋梁,支援多種關係型資料來源和hive、hdfs、hbase的相互匯入。支援全表匯入,也支援增量資料匯入機制,sqoop工作機制利用mapreduce分布式批處理,加快了資料傳輸速度和容錯性。

選擇sqoop理由:

1、可以高效的利用資源,可以通過調整任務數來控制任務的併發度。

2、可以自動地完成資料型別對映與轉換。匯入的資料是有型別的,它可以自動根據資料庫中的型別轉換到hadoop中,當然也可以自定義他們的對映關係。

3、它支援多種資料庫,eg:mysql、oracle、postgresql。

sqoop工作原理:

sqoop利用mapreduce並行特點以批處理的方式加快資料傳輸,從而提供併發特徵和容錯。sqoop主要通過jdbc連線關係型資料庫,理論上只有關係型資料庫支援jdbc都可以使用sqoop與hdfs進行資料互動。

1、sqoop從關係型資料庫匯入hdfs的原理:使用者先輸入乙個sqoop import 命令,sqoop會從關係型資料庫中獲取元資料資訊,包括庫資訊、表有哪些欄位及字段型別等,獲取資訊後會將匯入命令轉換為基於map的mapreduce任務。會開啟很多map任務,每個map任務讀取一部分資料,多個map任務並行完成資料複製到hdfs分布式檔案系統上。

2、sqoop匯出功能原理:使用者輸入export命令,sqoop會獲取關係型資料表結構資訊,建立與hadoop欄位有關係型資料庫表字段的對映關係,將命令轉換為基於map的mapreduce作用,生產很多map任務,並行地從hdfs中讀取資料檔案,將這個資料複製到資料庫中。

sqoop版本和架構

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

sqoop1架構師使用sqoop客戶端直接提交的方式,訪問方式是cli控制台方式進行訪問,在命令或指令碼中指定資料庫名及密碼。

sqoop2架構引入了sqoop server,集中化管理connector,提供多種訪問方式,如cli、web ui、rest api,同時sqoop2通過cli方式訪問會有乙個互動式介面,使輸入的密碼資訊不被看到。

sqoop不僅可以用於關係型資料庫與hdfs檔案系統之間進行資料轉換,也可以將資料從關係型資料庫傳輸至hive或hbase,而對於資料從hive或者hbase 傳輸到關係型資料庫來說,則可以從hive或者hbase將資料提取至hdfs,然後使用sqoop將上一步的輸出匯入到關聯式資料庫。

需要在應用的主要引數:

-check-column:指定增量匯入的依賴字段,通常為自增的主鍵id或者時間戳

-last-value:指定匯入的上次最大值,也是這次的開始值。

sqoop資料遷移工具

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

sqoop工具資料遷移

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

sqoop資料遷移

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