大數(shù)據(jù)DataX(一):DataX的框架設計和插件體系 每日熱訊
2023-02-27 17:18:50 來源:騰訊云
【資料圖】
?DataX的框架設計和插件體系
一、DataX是什么
DataX 是阿里巴巴集團內被廣泛使用的離線數(shù)據(jù)同步工具/平臺,實現(xiàn)包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各種異構數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。
為了解決異構數(shù)據(jù)源同步問題,DataX將復雜的網(wǎng)狀的同步鏈路變成了星型數(shù)據(jù)鏈路,DataX作為中間傳輸載體負責連接各種數(shù)據(jù)源。當需要接入一個新的數(shù)據(jù)源的時候,只需要將此數(shù)據(jù)源對接到DataX,便能跟已有的數(shù)據(jù)源做到無縫數(shù)據(jù)同步。
DataX在阿里巴巴集團內被廣泛使用,承擔了所有大數(shù)據(jù)的離線同步業(yè)務,并已持續(xù)穩(wěn)定運行了6年之久。目前每天完成同步8w多道作業(yè),每日傳輸數(shù)據(jù)量超過300TB。
DataX目前沒有單獨的官網(wǎng),DataX的GitHub地址:
https://github.com/alibaba/DataX
二、???????DataX框架設計
DataX本身作為離線數(shù)據(jù)同步框架,采用Framework + plugin架構構建。將數(shù)據(jù)源讀取和寫入抽象成為Reader/Writer插件,納入到整個同步框架中。
Reader:Reader為數(shù)據(jù)采集模塊,負責采集數(shù)據(jù)源的數(shù)據(jù),將數(shù)據(jù)發(fā)送給Framework。Writer: Writer為數(shù)據(jù)寫入模塊,負責不斷向Framework取數(shù)據(jù),并將數(shù)據(jù)寫入到目的端。Framework:Framework用于連接reader和writer,作為兩者的數(shù)據(jù)傳輸通道,并處理緩沖,流控,并發(fā),數(shù)據(jù)轉換等核心技術問題。三、??????????????DataX插件體系
經(jīng)過幾年積累,DataX目前已經(jīng)有了比較全面的插件體系,主流的RDBMS數(shù)據(jù)庫、NOSQL、大數(shù)據(jù)計算系統(tǒng)都已經(jīng)接入。DataX Framework提供了簡單的接口與插件交互,提供簡單的插件接入機制,只需要任意加上一種插件,就能無縫對接其他數(shù)據(jù)源。
DataX目前支持數(shù)據(jù)如下:
以上插件參照地址:
https://github.com/alibaba/DataX/blob/master/introduction.md