本文为您介绍什么是节点成环,节点成环的原因及解决方法。

什么是节点成环?

节点成环指的是某节点为上游节点但又同时依赖了自己的下游节点,导致依赖关系成环,这类型节点在自动调度时不会被调起。生产环境若出现成环节点会自动报警,成环节点报警机制,详情请参见成环节点的监控报警

节点成环产生原因与解决方案

当某节点为上游节点但又同时依赖了自己的下游节点,导致依赖关系成环,您需要分析业务流程,及时去除成环依赖。

例如,当下游节点依赖某上游节点上一周期产出的表数据,并且将加工结果写回该表时,若下游节点依赖上游节点同周期而非上一周期时,将导致上下游节点依赖关系成环。请明确业务场景后,将下游节点从依赖上游同周期转变为依赖上一周期。

  • 场景示例:如下图场景,若上游节点A查询表C数据并产出表A数据,下游节点B对表A数据进行清洗写入表B,紧接着节点C对表B数据进行清洗又重新写回表C,这种情况下自动解析会生成环。
  • 解决方案:分析业务流程,去除成环依赖。如下图案例,如果下游表要对上游表上周期数据进行清洗,则设置下跨周期,A节点应该跨周期依赖C节点。
节点成环

成环节点的监控报警

为保障周期任务可以正常产生周期实例并且自动调度运行,DataWorks内置了报警规则来对周期任务进行定期监控扫描,如有异常便会自动报警。节点成环后会自动报警,如果收到节点成环报警请及时处理。

说明
  • DataWorks每天定时9点、12点和16点对周期任务状态进行扫描,如有异常将会自动发送报警。但扫描时间点前10分钟内产生异常不会纳入本次扫描,该异常将会被纳入下一个周期的任务状态进行扫描。
  • 节点成环报警为系统内置报警规则,您无须手动新建,默认以短信、邮件的方式报警给节点责任人。但您可以在规则管理页面中针对全局规则修改报警接收人,详情请参见规则管理