算子探查(公測(cè))
算子探查功能可以在不修改作業(yè)的情況下看到中間結(jié)果的輸出,降低排查數(shù)據(jù)正確性錯(cuò)誤的難度,提高人效和業(yè)務(wù)的連續(xù)性,減少重點(diǎn)實(shí)時(shí)業(yè)務(wù)的中斷時(shí)間。本文為您介紹如何進(jìn)行算子探查。
背景信息
Flink作業(yè)運(yùn)維時(shí),會(huì)遇到產(chǎn)出結(jié)果不符合預(yù)期的情況,這類問題常稱為數(shù)據(jù)正確性問題。數(shù)據(jù)正確性問題的產(chǎn)生原因復(fù)雜且不易定位,常見的解決方法是將SQL作業(yè)進(jìn)行邏輯拆解,通過Print連接器打印每一步的結(jié)果,對(duì)數(shù)據(jù)結(jié)果進(jìn)行分析,找到可能的原因。這個(gè)處理流程不僅耗費(fèi)時(shí)間精力,而且可能因?yàn)闇y(cè)試數(shù)據(jù)與線上數(shù)據(jù)或者State不一致導(dǎo)致無(wú)法排查到原因。因此,此類問題的解決常需要很長(zhǎng)的時(shí)間,并進(jìn)行多次作業(yè)啟停。實(shí)時(shí)計(jì)算Flink版提供了算子探查功能,可以在不修改作業(yè)的情況下,探查選中算子的輸入輸出情況,幫助您更好地排查數(shù)據(jù)正確性問題。
使用限制
僅支持運(yùn)行中的SQL作業(yè)。
僅支持實(shí)時(shí)計(jì)算引擎VVR 8.0.4及以上版本作業(yè)。
不支持CTAS、CDAS作業(yè)。
不支持部署到Session集群的作業(yè)。
在探查沒有停止前,無(wú)法再次進(jìn)行探查。
操作步驟
登錄實(shí)時(shí)計(jì)算控制臺(tái),單擊目標(biāo)工作空間操作列下的控制臺(tái)。
在左側(cè)導(dǎo)航欄上,選擇
。單擊目標(biāo)作業(yè)名稱,單擊狀態(tài)總覽頁(yè)簽。
開啟算子探查。
打開算子探查開關(guān)。
單擊需要進(jìn)行探查的算子,支持選擇多個(gè)算子。
設(shè)置最大采樣時(shí)間。
支持設(shè)置1~30min的采樣時(shí)間,采樣過程中如果達(dá)到最大存儲(chǔ)上限會(huì)提前終止采樣。
單擊開始探查。探查狀態(tài)變更為采樣中。
說(shuō)明在探查沒有停止前,無(wú)法再次進(jìn)行探查。
查看探查結(jié)果。
您可以單擊提示中的TM 日志列表進(jìn)入到運(yùn)行日志頁(yè)面,查看Log Name為inspect-taskmanager_0.out的日志。
結(jié)果展示如下。您可以在狀態(tài)總覽頁(yè)簽的DAG圖中復(fù)制算子名稱,在日志頁(yè)面搜索查看具體算子的輸出。
探查停止方式
作業(yè)發(fā)生failover后自動(dòng)停止(JM & TM)。
達(dá)到最大存儲(chǔ)上限會(huì)提前終止采樣。
達(dá)到采樣時(shí)間后停止。
手動(dòng)停止探查。