數據流入Delta Table主要存在近實時增量寫入和批量寫入兩種場景,本文為您介紹高并發近實時增量寫入場景的架構設計。
實際業務數據處理場景中,涉及的數據源豐富多樣,可能存在數據庫、日志系統或者其他消息隊列等系統,為了方便用戶將數據寫入MaxCompute的Delta Table, MaxCompute深度定制開發了開源Flink Connector工具,聯合DataWorks數據集成以及其它數據導入工具,針對高并發、容錯、事務提交等場景做了定制化的設計及開發優化,以滿足延時低、正確性高等要求。
如上圖所示:
數據導入工具內部會集成MaxCompute數據通道服務Tunnel提供的SDK Client,支持分鐘級高并發寫入數據到Tunnel Server,由它把數據并發寫入到每個Bucket的數據文件中。
寫入并發度可通過表屬性write.bucket.num來配置,因此寫入速度可水平擴展。數據切分Bucket的優勢可詳細參考表數據格式。
Tunnel SDK提供的數據寫入接口目前只支持upsert和delete。
commit接口調用代表原子提交這段時間寫入的數據。
如返回成功就代表寫入數據查詢可見,滿足讀寫快照隔離級別。
如返回失敗,可支持重試,如果不是數據損壞等不可恢復的錯誤,則存在重試成功的可能,不需要重新寫入數據,否則需要重寫數據之后,重新提交Commit。
文檔內容是否對您有幫助?