大資料同步工具DataX與Sqoop之比較

來源:互聯網
上載者:User

DataX是一個在異構的資料庫/檔案系統之間高速交換資料的工具,實現了在任意的資料HTTP://www.aliyun.com/zixun/aggregation/34332.html">處理系統(RDBMS/ Hdfs/Local filesystem)之間的資料交換,由淘寶資料平臺部門完成。 Sqoop是一個用來將Hadoop和關聯式資料庫中的資料相互轉移的工具,可以將一個關聯式資料庫(例如 : MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中, 也可以將HDFS的資料導進到關聯式資料庫中。 同樣是大資料異構環境資料同步工具,二者有什麼差別呢?本文轉自Dean的博客。

從接觸DataX起就有一個疑問,它和Sqoop到底有什麼區別,昨天部署好了DataX和Sqoop,就可以對兩者進行更深入的瞭解了。

兩者從原理上看有點相似,都是解決異構環境的資料交換問題,都支援oracle,mysql,hdfs,hive的互相交換,對於不同資料庫的支援都是外掛程式式的,對於新增的資料來源類型,只要新開發一個外掛程式就好了,

但是只細看兩者的架構圖,很快就會發現明顯的不同

DataX架構圖

大資料同步工具DataX與Sqoop之比較

Job: 一道資料同步作業

Splitter: 作業切分模組,將一個大任務與分解成多個可以併發的小任務.

Sub-job: 資料同步作業切分後的小任務

Reader(Loader): 資料讀入模組,負責運行切分後的小任務,將資料從源頭裝載入DataX

Storage: Reader和Writer通過Storage交換資料

Writer(Dumper): 資料寫出模組,負責將資料從DataX導入至目的資料地

Sqoop架構圖

大資料同步工具DataX與Sqoop之比較

DataX 直接在運行DataX的機器上進行資料的抽取及載入。

而Sqoop充分裡面了map-reduce的計算框架。 Sqoop根據輸入條件,生成一個map-reduce的作業,在Hadoop的框架中運行。

從理論上講,用map-reduce框架同時在多個節點上進行import應該會比從單節點上運行多個並行導入效率高。 而實際的測試中也是如此,測試一個Oracle to hdfs的作業,DataX上只能看到運行DataX上的機器的資料庫連接,而Sqoop運行時,4台task-tracker全部產生一個資料庫連接。 調起的Sqoop作業的機器也會產生一個資料庫連接,應為需要讀取資料表的一些中繼資料資訊,資料量等,做分區。

Sqoop現在作為Apache的頂級專案,如果要我從DataX和Sqoop中間選擇的話,我想我還是會選擇Sqoop。 而且Sqoop還有很多協力廠商的外掛程式。 早上使用了Quest開發的OraOop外掛程式,確實像quest說的一樣,速度有著大幅的提升,Quest在資料庫方面的經驗,確實比旁人深厚。

大資料同步工具DataX與Sqoop之比較

在我的測試環境上,一台只有700m記憶體的,IO低下的oracle資料庫,百兆的網路,使用Quest的Sqoop外掛程式在4個並行度的情況下,匯出到HDFS速度有5MB/s ,這已經讓我很滿意了。 相比使用原生Sqoop的2.8MB/s快了將近一倍,sqoop又比DataX的760KB/s快了兩倍。

另外一點Sqoop採用命令列的方式調用,比如容易與我們的現有的調度監控方案相結合,DataX採用xml 設定檔的方式,在開發運維上還是有點不方便。

附圖1. Sqoop with Quest oracle connector

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.