算子探查功能可以在不修改作业的情况下看到中间结果的输出,降低排查数据正确性错误的难度,提高人效和业务的连续性,减少重点实时业务的中断时间。本文为您介绍如何进行算子探查。
背景信息
Flink作业运维时,会遇到产出结果不符合预期的情况,这类问题常称为数据正确性问题。数据正确性问题的产生原因复杂且不易定位,常见的解决方法是将SQL作业进行逻辑拆解,通过Print连接器打印每一步的结果,对数据结果进行分析,找到可能的原因。这个处理流程不仅耗费时间精力,而且可能因为测试数据与线上数据或者State不一致导致无法排查到原因。因此,此类问题的解决常需要很长的时间,并进行多次作业启停。实时计算Flink版提供了算子探查功能,可以在不修改作业的情况下,探查选中算子的输入输出情况,帮助您更好地排查数据正确性问题。
使用限制
仅支持运行中的SQL作业。
仅支持实时计算引擎VVR 8.0.4及以上版本作业。
不支持CTAS、CDAS作业。
不支持部署到Session集群的作业。
在探查没有停止前,无法再次进行探查。
操作步骤
登录实时计算控制台,单击目标工作空间操作列下的控制台。
在左侧导航栏上,选择
。单击目标作业名称,单击状态总览页签。
开启算子探查。
打开算子探查开关。
单击需要进行探查的算子,支持选择多个算子。
设置最大采样时间。
支持设置1~30min的采样时间,采样过程中如果达到最大存储上限会提前终止采样。
单击开始探查。探查状态变更为采样中。
说明在探查没有停止前,无法再次进行探查。
查看探查结果。
您可以单击提示中的TM 日志列表进入到运行日志页面,查看Log Name为inspect-taskmanager_0.out的日志。
结果展示如下。您可以在状态总览页签的DAG图中复制算子名称,在日志页面搜索查看具体算子的输出。
探查停止方式
作业发生failover后自动停止(JM & TM)。
达到最大存储上限会提前终止采样。
达到采样时间后停止。
手动停止探查。