天天看點

資料內建資料內建(Data Integration)資料同步資料同步作業DataX配置資料源建立同步任務運作同步任務同步中的髒資料和容錯配置白名單通道控制參數并發配置

資料內建産品介紹

資料內建(Data Integration)

資料內建是阿裡集團對外提供的穩定高效、彈性伸縮的資料內建平台,為阿裡雲大資料計算引擎(包括MaxCompute、AnalyticDB、OSS)提供離線(批量)資料進出通道。有别于傳統的用戶端點對點同步運作工具,資料內建本身以公有雲服務為基本設計目标,叢集化、服務化、多租戶、水準擴張等功能都是其基本實作要求。

通過DataWorks應用資料內建的入口

離線(批量)的資料通道主要通過定義資料來源和去向的資料源和資料集,提供一套抽象化的資料抽取插件(稱之為Reader),資料寫入插件(稱之為Writer),并基于此架構設計一套簡化版的中間資料傳輸格式,進而達到任意結構化、半結構化資料源之間資料傳輸的目的。

邏輯結構如下:

來源資料源->Reader資料抽取插件->Channel傳輸通道->Writer資料寫入插件->目标資料源

資料內建支援的資料源

資料同步

資料同步廣義是指為保持兩端資料一緻性而進行的資料傳輸過程。一般來說,資料內建的資料同步是為保證源宿兩端資料邏輯的一緻性,将資料源端移動到資料目的端,并伴随一定的資料轉換或者清洗的過程。在資料內建的功能邊界中,資料同步定義為雲上各種存儲産品之間進行的資料轉移過程。

資料同步類型:離線資料同步和流式資料同步

同步三要素:資料源、資料轉換過程(optional)、資料目的端

資料同步作業

作業(JOB)是資料內建進行資料批量同步的基本業務單元,資料內建的Job面向表級别資料同步。描述了一個資料同步作業完成一次資料同步任務所需要的資訊,包括E(Extract)、T(Transform)、L(Load)等使用者描述資訊,也包括作業的運作資訊。

作業模型:資料內建本身不儲存作業資訊;使用者送出每一次作業都生成一個job對象,并為其配置設定唯一的Job ID;多次送出生成多個Job ID,運作一次即是一個獨立的Job。

排程模型:作業速率資訊,實際速率受網絡環境、資料庫配置等影響;單并發同步作業,作業并發數*單并發的傳輸速率=作業傳輸總速率。

限制限制:目前需要提前在目的端資料源進行建表操作;按照原宿兩端Column的映射情況進行傳輸,而非Column名稱或者類型進行;同步過程存在字段類型飲式轉換規則,常見如整型、浮點型轉為字元串類型。

資料同步的權限與安全:

使用者角色

系統隔離

資料源鑒權

DataX

DataX是一個異構資料源離線同步工具,用于實作包括關系型資料庫(MySQL、oracle等)、HDFS、Hive、ODPS、Hbase、FTP等各種異構資料源之間穩定高效的資料同步功能,其設計理念為将複雜的網絡的異構資料源同步鍊路變成星型資料鍊路,DataX作為中間傳輸載體負責連接配接各種資料源。

同步任務配置流程

利用資料內建同步資料

配置資料源

配置資料源步驟:

1、選擇新增資料源類型;

2、配置資料源相關屬性:如資料源名稱、連接配接資訊、登入名以及密碼(不同的資料源配置的屬性資訊不同);

3、測試連通性,目的是驗證輸入的資料源是否正确;

4、确定,完成配置

建立同步任務

步驟:

1、建立同步任務(節點)

2、選擇來源

3、選擇目标

4、字段映射

5、通道控制

6、預覽儲存

運作同步任務

直接運作:指運作在預設的資源組上,而且可以在目前視窗下方直接看到運作日志(日志不儲存,消失後不可見)

排程運作:配置排程任務一般在第二天生産執行個體節點到設定排程時間就會開始運作任務

補資料運作:一般是運作失敗同步任務,補資料重新運作昨天的同步任務資料

測試節點運作:測試節點選擇當天以前的執行個體節點運作,同步任務立刻運作并檢視日志

同步中的髒資料和容錯

資料同步通常會對接源端和目标端的資料存儲,需要根據來源和目标兩端資料源的具體資訊适配和轉換相應的資料内容。在傳輸過程中,可能存在由于兩端中繼資料不比對或者本身的業務資料傳輸失敗的情況,資料內建自動識别髒資料并提供容錯機制。

髒資料可能産生的原因:

資料類型轉換出錯,如String[""]不能轉為long;

資料超出定義範圍(Out of range value),如源端設定的是smallint(5),目标端是int(11) unsigned,因為smallint(5)範圍有負數,unsigned不允許有負數,是以産生髒資料。

存儲表情符emoj,資料表配置成了可以存儲的emoj的,同步時報髒資料。

空字段引起髒資料

資料同步過程中的常見配置

配置白名單

為保證資料庫的安全穩定,在開始使用某些資料庫執行個體前,需要将通路資料庫的IP位址或者IP段加到目标執行個體的白名單或安全組中,否則無權限通路資料。

說明:常見的資料源如RDS、Mongodb、Redis等,需要在其控制台對目标資料的IP進行開放。一般添加白名單有以下兩種情況:

同步任務運作在自定義資源組上,要給自定義資源組機器授權,将自定義機器内/外網IP添加資料源的白名單清單。

同步任務運作預設資源組上,要給預設的機器授權,一般根據dataworks的region來標明對應的白名單位址。

資料內建連接配接RDS同步資料需要使資料庫标準協定連接配接資料庫。RDS預設允許所有IP連接配接,但如果在RDS指定來IP白名單,則需要添加資料內建執行節點IP白名單。

配置安全組:

通道控制參數DMU配置

通道控制參數并發配置

并發:可視為資料同步任務内,從源并行讀取或并行寫入資料存儲端的最大線程數;向導模式通過界面化配置并發數,指定任務所使用的并行度;腳本模式通過代碼設定。并發配置的越大,則所需要的系統資源(DMU)越多,在網絡狀況和讀寫端資料源能力滿足的情況下,同步速度可以呈線性增長。

DMU和并發有關聯關系:當DMU配置為10時,最高并發數不可超過10;

配置高并發,需要考慮讀寫端資料源的能力,并發過高可能會對源端資料庫造成性能影響;

腳本模式中,并發值雖然可以設定較高,但單任務所配置設定資料移動單元DMU會有控制。

資料內建同步任務預設不限速,任務将在所配置的并發數、DMU數的限制上以最高能達到的速度進行同步。

另一方面,由于速度過高可能對資料庫造成過大的壓力進而影響生産,如設定限速,建議最高速度上限不應超過30MB/s。

通道控制錯誤記錄數配置

資料源切分鍵配置

資料字段映射配置