運算元探查功能可以在不修改作業的情況下看到中間結果的輸出,降低排查資料正確性錯誤的難度,提高人效和業務的連續性,減少重點即時業務的停機時間。本文為您介紹如何進行運算元探查。
背景資訊
Flink作業營運時,會遇到產出結果不符合預期的情況,這類問題常稱為資料正確性問題。資料正確性問題的產生原因複雜且不易定位,常見的解決方案是將SQL作業進行邏輯拆解,通過Print連接器列印每一步的結果,對資料結果進行分析,找到可能的原因。這個處理流程不僅耗費時間精力,而且可能因為測試資料與線上資料或者State不一致導致無法排查到原因。因此,此類問題的解決常需要很長的時間,並進行多次作業啟停。Realtime ComputeFlink版提供了運算元探查功能,可以在不修改作業的情況下,探查選中運算元的輸入輸出情況,協助您更好地排查資料正確性問題。
使用限制
僅支援運行中的SQL作業。
僅支援Realtime Compute引擎VVR 8.0.4及以上版本作業。
不支援CTAS、CDAS作業。
不支援部署到Session叢集的作業。
在探查沒有停止前,無法再次進行探查。
操作步驟
登入Realtime Compute控制台,單擊目標工作空間操作列下的控制台。
在左側導覽列上,選擇
。單擊目標作業名稱,單擊狀態總覽頁簽。
開啟運算元探查。
開啟運算元探查開關。
單擊需要進行探查的運算元,支援選擇多個運算元。
設定最大採樣時間。
支援設定1~30min的採樣時間,採樣過程中如果達到最大儲存上限會提前終止採樣。
單擊開始探查。探查狀態變更為採樣中。
說明在探查沒有停止前,無法再次進行探查。
查看探查結果。
您可以單擊提示中的TM 日誌列表進入到作業記錄頁面,查看Log Name為inspect-taskmanager_0.out的日誌。
結果展示如下。您可以在狀態總覽頁簽的DAG圖中複製運算元名稱,在日誌頁面搜尋查看具體運算元的輸出。
探查停止方式
作業發生failover後自動停止(JM & TM)。
達到最大儲存上限會提前終止採樣。
達到採樣時間後停止。
手動停止探查。