任务诊断模块当前支持展示异常任务列表和异常实例列表,同时也支持将任务加入诊断白名单:

  1. 异常任务列表中,展示对调度依赖诊断Spark性能诊断两个纬度的诊断异常任务结果
  2. 异常实例列表中,展示未按时就绪就绪超时阻塞下游三类异常实例列表

任务诊断 - 图1

调度依赖诊断

调度依赖诊断支持诊断SQL节点是否存在多余依赖和缺少依赖的情况。对于多余依赖和缺少依赖的判断依据如下:

调度依赖诊断规则说明

  1. 调度依赖诊断仅针对SQL节点,若SQL节点的输入表与上游依赖节点的输出表不一致,则认为存在多余依赖;
  2. 若节点的输入表对应的产出任务非本节点的依赖上游,则认为缺少对应依赖。
  3. 节点的输入表与输出表支持在任务内传递,即同一任务内的上游节点的输出表会视作下游节点的输出表,下游节点的输入表会作为上游节点的输入表。
  4. 需注意,任务之间的依赖关系不支持传递,建议用户按照实际依赖情况添加依赖关系,便于直观地查看和管理血缘。

注意: 当前仅支持判断“SQL”节点的上游依赖情况,推荐数据来源于任务的运行实例,因此请确保上游表的产出任务至少在线上调度运行过一次。

Snipaste_2023-07-10_15-09-57.png

点击“查看完整输入输出”,可以查看多余依赖的上下游节点的实际输入输出表信息:
Snipaste_2023-07-10_15-12-42.png

Spark性能诊断

Spark性能诊断支持诊断Spark节点、Hive-Spark节点的Spark执行性能,目前已支持的诊断内容包括Task长尾、数据膨胀等14种异常情况:
Snipaste_2023-07-10_15-16-14.png

在任务详情页面,点击诊断结果标签,可查看具体指标以及相关建议:
Snipaste_2023-07-10_15-19-24.png

Snipaste_2023-07-10_15-20-23.png

注意: 当前仅支持部署了高级版本easyeagle的客户才可使用“Spark性能诊断”功能。

诊断白名单

针对一些特殊业务场景下确实不需添加依赖的任务,任务运维中心也支持将任务加入白名单,加入白名单后的任务将不再出现在异常任务列表中。加入白名单的入口有两处,分别是任务诊断的任务列表中,以及任务详情页的任务诊断标签页中。
Snipaste_2023-07-10_16-05-33.png

注意: 加入诊断白名单需由项目管理员或负责人审批;申请审批通过后,将不再进行诊断,若需要修改白名单诊断内容或将任务从白名单中删除,需联系管理员前往任务诊断-白名单管理中操作。