运维中心DAG图支持您查看节点的上下游依赖关系,此外,还支持节点聚合、上下游分析功能,帮助您提高运维效率。本文为您介绍DAG图的相关功能。
使用限制
仅DataWorks专业版及以上版本用户才可以使用DAG图的节点聚合、上游分析、下游分析功能。版本升级详情请参见DataWorks版本服务计费说明。
DAG图功能列表说明
单击相应节点后的DAG图,打开该节点的DAG图。您可以在DAG图中进行如下操作(本文以周期实例的DAG图为例):
节点聚合
当周期实例的节点数量或层级过多时,您可以按照节点状态、工作空间、责任人、优先级等维度进行节点聚合,查看指定目标维度的节点数量。方便您了解各个维度节点的数量,合理分配并执行节点。以下示例为您展示,节点不聚合及按优先级聚合的显示情况。
说明仅实例(包括自动调度的周期实例、手动触发生成的补数据实例和测试实例)DAG图可按照节点状态维度进行节点聚合。
节点不聚合时,显示如下图所示。
节点按照优先级聚合时,显示如下图所示。您可以快速了解到当前节点的子节点共有6个优先级为1的节点。
上游分析
周期实例通常存在上下游依赖关系,如果目标节点长时间未运行,则您可以对其进行上游节点分析,在DAG图中查看阻塞当前节点运行的上游节点,快速定位并及时处理相关运行报错,提升节点的执行效率。
说明仅实例(包括自动调度的周期实例、手动触发生成的补数据实例和测试实例)DAG图支持进行上游分析。
仅支持对未运行的节点执行上游分析操作。最多展示6层。如果您希望展示更多层级,请单击左上角的继续分析。
上游分析可帮助您快速找到当前节点所依赖的父节点中仍处于未运行成功状态的节点,这些节点可能处于运行中、运行失败、等待时间等、等待资源或冻结(暂停)等状态,父节点处于这些状态时将阻塞下游节点运行。
示例2_节点长时间未运行,则您可以选中该节点,单击左上角的上游分析。分析结果得出,导致阻塞当前节点运行的上游节点为数据表同步及指标统计,如下图所示。通过该分析结果,您可以快速定位阻塞节点,并及时处理相关报错。
说明后续操作:
您可以在定位到关键实例后,再基于聚合项进行过滤,查看影响当前节点数据产出的关键实例所在工作空间,或节点责任人等,帮助您提高运维效率。
定位到阻塞当前实例运行的关键实例后,您还可以右键该实例,选择运行诊断功能快速分析当前实例未运行成功的原因。详情请参见:智能诊断。
下游分析
展开DAG图时,默认展示三层,包括当前节点及当前节点的一层父节点与一层子节点。当周期实例的节点数或层级过多时,无法直观查看节点影响范围。您可以使用下游分析功能,通过节点状态、工作空间、责任人、优先级等维度进行筛选,统计不同层级目标维度的节点数,或统计所有层级目标维度的节点总数。
说明聚合状态下进行合并或分层展示:单击下游分析后,默认按照责任人聚合,统计所有层级该维度的节点总数量。
不聚合、成组展示:不聚合场景下,若下游节点超过10个将默认成组展示。该方式下,您可以比较直观地看到节点的业务影响。
不成组展示:不聚合场景下,单击拆分组,可对成组的节点进行拆分查看,该方式下,您可以直观地了解到所有节点的上下游关系。
下游分析使用分层展示下游节点分析结果时,最多展示6层。如果您希望展示更多层级,请单击左上角的继续分析。
示例对tag节点进行下游分析,结果如下:
合并:按照当前聚合维度对当前已分析的下游进行合并。非聚合状态下,将对下游节点进行成组展示。示例使用合并方式,并按照所属工作空间聚合,将所有下游节点合并至同一层,展示所属不同工作空间的节点数量。
分层:按照当前聚合维度对当前已分析的下游进行分层展示。示例使用分层方式,并按照所属工作空间聚合,在不同层级展示不同工作空间的节点数量。
选择DAG图的显示样式。
您可以根据实际需要,单击DAG图所在界面右上角的功能图标,调整DAG图的显示样式。例如,全屏展示、适配屏幕展示等。
示例对0_2节点的下游节点,展示拆分组及成组的DAG图。
拆分组的DAG图如下所示。通过该方式,您可以直观地了解到所有节点的上下游关系。
成组的DAG图如下所示。通过该方式,以每行呈现5个节点,有序地为您展示下游节点,方便您快速获取下游节点的总数量。
DAG图为您展示节点上下游依赖关系,其中实线为同周期依赖,虚线为跨周期依赖。还支持您右键单击目标节点,执行相关操作。右键单击目标节点,执行相关操作。下图以周期实例为例。
操作
描述
展开父节点/子节点
当一个业务流程有3个及以上节点时,运维中心展示节点时会自动隐藏节点。您可以通过展开父子层级查看全部节点的内容。
查看运行日志
查看当前实例正在运行、成功、失败等状态的运行日志。
说明公共调度资源组实例保留一个月,日志保留一周。
独享调度资源组实例、日志保留一个月。
运行诊断
DataWorks运维中心为您提供运行诊断功能,帮助您掌握节点运行的全链路信息,以迅速定位问题。详情请参见智能诊断。
查看代码
查看当前实例的代码。
编辑节点
单击后,即可跳转至数据开发页面,对当前节点的内容进行修改。
查看血缘
查看当前实例的血缘关系。
查看更多详情
单击后,即可查看当前节点的属性、上下文、运行日志、操作日志和代码等信息。
终止运行
仅等待运行、运行中状态的实例可以进行终止运行的操作。进行此操作后,该实例将变为失败状态。
重跑
可以重跑某节点,节点执行成功后可以触发下游未运行状态节点的调度。常用于处理出错节点和漏跑节点。
说明仅支持重跑未运行、成功和失败状态的节点。
重跑下游
可以重跑某节点及其下游节点,需要您自定义勾选,勾选的节点将被重跑,节点执行成功后可以触发下游未运行状态节点的调度。常用于处理数据修复。
说明仅支持勾选未运行、完成和失败状态的节点,如果勾选了其它状态的节点,页面会提示已选节点中包含不符合运行条件的节点,并禁止提交运行。
置成功
将当前实例的状态改为成功,并运行下游未运行状态的节点。常用于处理出错节点。
说明仅支持将状态为失败的节点置成功,不能置成功业务流程。
续跑
节点执行失败后,可以续跑此节点。仅MaxCompute类型节点支持该功能。
说明2021年1月之前购买的独享调度资源组,如果需要升级您可以单击申请链接或扫描下方二维码加入DataWorks钉钉交流群进行售前售后咨询,咨询可直接@智能机器人,值班时间段内也可直接联系值班人员。DataWorks钉钉交流群二维码如下。
紧急操作
当前实例在非常紧急的情况下的操作,紧急操作只对当前节点本次有效。
选择去除依赖,即可解除当前节点的依赖关系。常用于上游失败并与此实例没有数据关系时,
暂停(冻结)
周期实例中的冻结只针对当前实例,且正在运行中的实例。冻结的周期实例不自动调度运行(不会真实跑数据),并且会阻塞它的下游节点执行(下游节点都不会自动调度)。
场景示例:如果您小时节点每小时调度一次,当天生成24个小时实例,如果其中一个小时实例不需要执行,您可以选择冻结该实例,冻结其中一个小时实例不会影响其他实例执行。
恢复(解冻)
可以将冻结状态的实例解冻。
如果该实例还未运行,则上游节点运行完毕后,会自动运行。
如果上游节点都运行完毕,则该节点会直接被置为失败。需手动重跑后,方会正常运行。
说明解冻操作仅作用于该实例,如果您周期任务仍是冻结状态, 那么第二天的实例仍会是冻结状态。
单击实例,页面右下角会显示实例详情的弹框,单击弹框中的展开详情可以查看单个实例详情。下图以周期实例为例。
功能
描述
属性
您可以在此页签查看任务在生产环境的调度属性。界面参数详情请参见:调度配置。
节点ID和实例ID的关系:
对于小时或分钟调度的节点任务,您可基于节点ID定位该节点当天生成的所有小时或分钟实例,若要定位到某个具体的小时或分钟实例,您可通过实例ID进行精准定位。
任务状态解读:任务状态与任务运行有关,若任务处于未运行、等待时间、等待资源、冻结等状态时,您可以通过运行诊断来快速定位问题。
等待资源耗时:当任务出现长时间等待资源的情况,您可以使用运行诊断功能定位当前任务运行时,哪些任务在占用资源,快速找到异常任务进行排查。
运行时长过长:当任务运行时间与历史运行情况相比明显变长,您可参考以下场景进行处理。
非同步任务:可咨询对应引擎负责人。
离线同步任务:可能任务某个阶段执行较慢或处于长时间等待资源状态。详情请参见:如何排查离线同步任务运行时间长的问题?。
规则监控:您可以查看当前实例关联的监控规则情况,支持您单击右侧的新建快速创建任务运行状态监控规则,详情请参见规则管理。
说明此处仅支持查看监控任务运行状态的规则关联详情,不支持查看数据质量监控规则。
基线监控:您可以查看当前实例关联的基线情况,支持您单击右侧的新建快速创建基线,详情请参见基线管理。
上下文
为您展示当前任务的所有输入参数和输出参数,详情请参见:配置节点上下文。
运行日志
用于查看任务详细执行过程。
操作日志
用于查看任务或实例的操作记录(时间、操作人、具体操作)。
代码
用于查看生产环境当前任务的最新代码。若不符合预期,请确认任务最新版本是否已经发布成功。详情请参见:发布任务。