MaxCompute流式資料通道服務提供了以流式的方式把資料寫入MaxCompute的能力,使用與原批量資料通道服務不同的一套全新的API及後端服務。流式服務在API上極大簡化了分布式服務的開發成本,同時解決了批量資料通道在高並發、高QPS(Queries-per-second)情境下的效能瓶頸。本文為您介紹如何使用流式資料通道服務。
功能介紹
MaxCompute流式資料通道服務自2021年1月1日起開始公測,公測期間可直接免費使用,後續商業化通知請關注公告。
以下服務支援使用流式資料通道模式將資料寫入MaxCompute。
Realtime ComputeFlink:預設使用批量資料通道,支援流式資料通道外掛程式。
即時資料同步: 預設使用批量資料通道,支援流式資料通道模式,需要聯絡DataWorks值班同學後台開啟。
什麼是雲訊息佇列 Kafka 版?:預設使用批量資料通道,支援流式資料通道模式,需要聯絡Kafka值班同學後台開啟。
MaxCompute流式資料通道服務功能點如下:
提供流式語義API:通過流式服務的API可以方便地開發出分布式資料同步服務。
支援自動建立分區:解決資料同步服務並發建立分區導致的並發搶鎖問題。
支援增量資料非同步彙總(Merge):提升資料存放區效率。
MaxCompute流式資料通道服務可以解決流式服務使用批量資料通道寫入資料引發的各種問題,優勢如下:
更最佳化的資料存放區結構,解決高QPS寫入導致的片段檔案問題。
提供了增量資料非同步處理機制,可以在使用過程中無感知情況下對新寫入的增量資料做進一步處理,已經支援資料彙總(Merge): 提升儲存效率。
應用情境
MaxCompute流式資料通道服務應用情境如下。
情境 | 說明 | 特點 |
大量事件記錄即時寫入MaxCompute | 日誌採集資料直接寫入MaxCompute進行批量處理。 | 無需通過中間儲存服務做中轉,節約成本。 |
流式計算結果即時寫入MaxCompute | 流式服務寫入MaxCompute解除並發數及 | 解決高並發搶鎖導致流式服務不可用,避免 |
流式儲存服務(DataHub、Kafka)即時同步MaxCompute | 輕量訊息佇列即時同步MaxCompute解除並發數及 | 解決輕量訊息佇列即時同步到MaxCompute的問題,支援高並發、大批量同步。 |
使用限制
MaxCompute流式資料通道服務的使用限制如下:
加鎖寫入的表或分區:在流式寫入資料期間,MaxCompute流式資料通道服務會對寫入的表或分區進行加鎖。即流式寫入資料期間會屏蔽所有涉及資料修改的DML操作,例如
insert into|insert overwrite。流式寫入結束後,MaxCompute會對錶或分區進行解鎖,之後可以執行所有操作。如果寫入的表Schema有修改,則不能支援流式寫入。
熱資料存放區量會出現增長情況:在開啟非同步處理的情境下(Merge或Zorder),MaxCompute流式資料通道服務會對最近一小時寫入的資料儲存兩份,一份為未經處理資料,一份為非同步彙總後的資料,資料的儲存量會有一定程度的冗餘。冗餘資料的儲存周期預設是1小時。