1. 程式人生 > >【大資料】DataX介紹

【大資料】DataX介紹

DataX入門

1.DataX

1.1介紹

DataX 是阿里巴巴集團內被廣泛使用的異構資料來源離線同步工具,致力於實現包括關係型資料庫(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各種異構資料來源之間穩定高效的資料同步功能。

DataX本身作為離線資料同步框架,採用Framework + plugin架構構建。將資料來源讀取和寫入抽象成為Reader/Writer外掛,納入到整個同步框架中。目前已經有了比較全面的外掛體系,主流的RDBMS資料庫、NOSQL、大資料計算系統都已經接入。

DataX目前支援資料如下:

1.2設計理念

為了解決異構資料來源同步問題,DataX將複雜的網狀的同步鏈路變成了星型資料鏈路,DataX作為中間傳輸載體負責連線各種資料來源。當需要接入一個新的資料來源的時候,只需要將此資料來源對接到DataX,便能跟已有的資料來源做到無縫資料同步。

1.3框架設計

DataX本身作為離線資料同步框架,採用Framework + plugin架構構建。將資料來源讀取和寫入抽象成為      Reader/Writer外掛,納入到整個同步框架中。

     Reader:Reader為資料採集模組,負責採集資料來源的資料,將資料傳送給Framework。

     Writer: Writer為資料寫入模組,負責不斷向Framework取資料,並將資料寫入到目的端。

     Framework:Framework用於連線reader和writer,作為兩者的資料傳輸通道,並處理緩衝,流控,併發,資料轉換等核心技術問題。

     DataX 3.0 開源版本支援單機多執行緒模式完成同步作業執行。詳情參考:點我

1.4 優點

1、可靠的資料質量監控(讓資料可以完整無損的傳輸到目的端)

2、豐富的資料轉換功能

3、精準的速度控制

4、新版本DataX3.0提供了包括通道(併發)、記錄流、位元組流三種流控模式,可以隨意控制你的作業速度,讓你的作業在庫可以承受的範圍內達到最佳的同步速度。

5、強勁的同步效能

每一種讀外掛都有一種或多種切分策略,都能將作業合理切分成多個Task並行執行,單機多執行緒執行模型可以讓DataX速度隨併發成線性增長。

6、健壯的容錯機制(多層次區域性/全域性的重試)

7、極簡的使用體驗

    下載即可用、詳細的日誌資訊。

2.相關概念

異構資料來源

指不同的資料庫管理系統之間的資料。在企業資訊化建設過程中,由於各業務系統建設和實施資料管理系統的階段性、技術性以及其它經濟和人為因素等因素影響,導致企業在發展過程中積累了大量採用不同儲存方式的業務資料,包括採用的資料管理系統也大不相同,從簡單的檔案資料庫到複雜的網路資料庫,它們構成了企業的異構資料來源。

      企業資料來源異構性主要表現在3方面:

 1. 系統異構,即資料來源所依賴的業務應用系統、資料庫管理系統乃至作業系統之間的不同構成了系統異構。

 2. 模式異構,即資料來源在儲存模式上的不同。儲存模式主要包括關係模式、 物件模式、物件關係模式和文件巢狀模式等幾種,其中關係模式(關係資料庫)為主流儲存模式。同時,即便是同一類儲存模式,它們的模式結構可能也存在著差異。例如不同的關係資料管理系統的資料型別等方面並不是完全一致的,如DB2、Oracle、Sybase、Informix、SQL Server 、Foxpro等。

 3. 來源異構,即企業內部資料來源和外部資料來源之間的異構。

3.搭建DataX測試

     裝完測試了Demo,效果如下:

    

     圖中結果和DataX的工作原理是吻合的,加深了理解,另外結果中把任務的執行時間等指標列出來,很清楚。接下來要開始真正運用到專案中配置了。