本文介紹 Fluss 全託管湖流一體服務的功能說明、核心優勢及操作指南。
功能概述
Fluss 湖流一體將即時資料流儲存(Fluss)中的資料自動同步至資料湖(Paimon),實現一份資料、兩種視圖——兼顧毫秒級即時訪問與高吞吐歷史分析。
湖流一體的資料同步作業已全面升級為全託管模式。系統自動完成同步作業的建立、運行和營運,無需關注底層作業狀態。
與舊版方案對比
|
對比項 |
舊版方案 |
全託管方案(新版) |
|
專案空間 |
需手動選擇已有的 Flink 專案空間 |
系統自動管理,無需選擇 |
|
同步狀態感知 |
僅可查看同步作業是否正常運行,無法感知具體表的同步情況 |
提供表層級的同步延時、同步位點等指標,支援警示通知 |
|
同步效能 |
基於標準 Flink 運算元 |
採用自研 Native 運算元,同步效能提升 30% 以上 |
|
營運方式 |
需手動關注和管理同步作業的運行狀態 |
全託管,系統自動管理,無需人工介入 |
核心能力
表級同步監控
全託管模式提供表粒度的同步狀態可觀測能力:
-
同步延時:展示每張表從 Fluss 流層同步到 Paimon 湖層的延遲時間,用於評估資料新鮮度。
-
同步位點:展示每張表當前的同步進度,反映資料同步的即時狀況。
-
警示通知:支援對同步延時等關鍵計量配置警示規則,指標異常時自動發送通知。
自研 Native 同步運算元
全託管同步作業採用自研 Native 運算元替代標準 Flink 運算元,在資料同步鏈路上進行深度最佳化,同步效能較舊版提升 30% 以上。
全託管營運
-
同步作業由系統自動建立和管理,無需手動設定或維護。
-
作業異常時系統自動回復,保障資料同步的連續性。
-
採用斷點續傳機制,從最後一次成功提交的位點繼續同步,保障精確一次(Exactly-Once)語義。
存量使用者切換說明
對於已使用舊版同步方案的存量使用者,系統將統一執行切換:
-
切換後,系統自動使用全託管同步作業為已開啟湖流一體的表進行同步。
-
原有的非託管同步作業將被自動停止並刪除。
-
切換過程對業務無感知,資料同步不中斷。切換完成後,不再支援非託管同步方式。
-
按量資源上限預設為 1000 CU,可手動調整上限大小。
切換過程中,系統確保同步位點的銜接,不會產生資料丟失或重複。
計費說明
全託管同步運行期間會消耗計算資源,相關費用說明如下:
-
隨用隨付:同步作業使用的資源按實際用量計費。公測期間免費,正式商業化後開始計費。
-
固定資源:可提前購買固定資源,或通過擴容、縮容操作調整固定資源大小。按量賬單出賬前,系統優先使用已購買的固定資源進行抵扣,僅超出部分產生隨用隨付賬單。
可根據開啟湖流一體的表數量和資料量,合理評估資源用量,選擇適當的固定資源規格以降低成本。
前提條件
開通服務
版本限制
-
不支援DLF-Legacy使用。
許可權要求
-
僅叢集擁有者可開啟湖流一體服務。
-
開啟者所使用的賬戶必須具備以下許可權:
在 DLF 中擁有 AliyunDLFFullAccess 許可權,確保可建立資料庫、建立表,並對錶執行讀寫操作。詳情請參見使用者授權。
開啟湖流一體
步驟一:叢集開啟湖流一體
-
選擇流儲存Fluss頁簽,單擊操作列控制台,進入Fluss叢集。
-
在叢集概覽頁的右下角,選擇
開啟後,完成服務關聯。
步驟二:表開啟湖流一體
建立表
在Flink工作空間註冊 Fluss Catalog,然後在中建立表。
CREATE TABLE `my-catalog`.`fluss`.`datalake_orders` (
shop_id BIGINT,
user_id BIGINT,
num_orders INT,
total_amount INT,
PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
'bucket.num' = '4',
'table.datalake.enabled' = 'true',
'table.datalake.freshness' = '30min'
);
湖流一體額外參數說明
|
參數 |
說明 |
預設值 |
備忘 |
|
table.datalake.enabled |
是否開啟湖流一體。 |
false |
未添加該配置時,可以在控制台手動開啟。 |
|
table.datalake.freshness |
定義 Paimon 表資料相對於 Fluss 原表的最大允許延遲(即資料新鮮度)。 |
3min |
Fluss 服務將依據此配置自動執行資料同步。調小該值可提升湖倉側的資料即時性;若業務對延遲不敏感,可適當調大該值以降低資源消耗。 重要
此參數後續不能修改。 |
|
paimon.* |
任何以 |
無 |
Fluss 湖流一體會使用 Paimon 的預設參數建立底層的 Paimon 湖表,如果你要對 Paimon 湖表有其他參數配置的需求,比如設定 Paimon 湖表為 ORC 格式,可以設定 更多參數配置詳情請參見Paimon Configuration。 |
暫不支援建立開啟了 deletion vector 的 Paimon 表,請不要傳入參數 'paimon.deletion-vectors.enabled' = 'true'。
已有表
-
控制台開啟
在Fluss控制台中,在左側導覽列選擇資料管理,單擊對應的資料庫,在右側展示的資料表中,可選擇
開啟湖流一體。 -
SQL開啟:通過
ALTER TABLE文法開啟。ALTER TABLE datalake_orders SET ('table.datalake.enabled' = 'true');
查詢資料同步
資料表開啟湖流一體後,系統會自動將表的中繼資料同步至 DLF。可在 DLF 中對應關聯的 Catalog 下,找到一個與 Fluss 中同名的庫。該庫包含與源表完全一致的表結構和中繼資料,用於統一查詢與管理。
同步前請確保 DLF 中不存在同名的表,否則可能導致同步失敗或衝突。
湖流一體資料一致性說明
-
湖流一體表啟用後,Fluss 中的資料會通過 Flink 同步作業持續寫入基於 Paimon 的資料湖,其表結構中繼資料由 DLF 統一管理,一經建立即長期保留。
-
刪除Fluss中的湖流一體表,並不會刪除DLF中已經同步的湖表(Paimon表),需要在DLF中手動清理。
-
對於主鍵表,採用 changelog 模式處理資料變更:
-
當某條記錄被刪除時,系統會在下一輪 Tiering 完成後從 Paimon 表中物理移除該歷史資料,同時在 Changelog 中追加一條類型為 DELETE 的變更日誌。
-
在執行 Union Read 查詢時,Flink 引擎會自動合并 Fluss 中的即時資料與 Paimon 中的歷史資料,並根據主鍵和變更日誌進行去重與狀態合并。
-
最終返回的結果中,已被邏輯刪除的記錄將不會出現,從而保證查詢結果的正確性與一致性。
-
關閉湖流一體
資料表關閉湖流一體
-
控制台:在Fluss控制台,左側導覽列選擇資料管理,將已經開啟湖流一體的表逐一關閉。
-
SQL:通過
ALTER TABLE文法關閉。ALTER TABLE datalake_orders SET ('table.datalake.enabled' = 'false');
叢集關閉湖流一體
在叢集概覽頁中的右下角,將
關閉,即可關閉湖流一體服務。
-
若存在未關閉湖流一體服務的表,將無法關閉叢集層面的湖流一體服務。
-
關閉湖流一體服務時,全託管同步作業也會停止運行。