本文将为您介绍如何实现节点的运行、运维,并查看日志进行排错。

设置周期和依赖的操作中,您配置了每周二凌晨2点执行同步节点。提交节点后,需要到第二天才能看到调度系统自动执行的结果。DataWorks为您提供测试运行、补数据和周期运行3种触发方式,帮助您确认实例运行的定时时间、相互依赖关系、数据结果产出是否符合预期。

  • 测试运行:手动触发方式。如果您仅需确认单个节点的定时情况和运行,建议您使用测试运行。详情请参见测试运行
  • 补数据运行:手动触发方式。如果您需要确认多个节点的定时情况和相互依赖关系,或者需要从某个根节点开始重新执行数据分析计算,建议您使用补数据运行。详情请参见补数据运行
  • 周期运行:系统自动触发方式。提交成功的节点,调度系统在第二天0点起会自动触发当天不同时间点的运行实例,并在定时时间达到时检查各实例的上游实例是否运行成功,如果定时时间已到并且上游实例全部运行成功,则当前实例会自动触发运行,无需人工干预。详情请参见周期运行
说明 手动触发和自动调度的调度系统与周期生成实例的规则一致。
  • 无论周期选择天/小时/分钟/月/周,节点在每一个日期都会有对应实例生成。
  • 仅在指定日期的对应实例,会定时运行并生成运行日志。
  • 非指定日期的对应实例不会实际运行,而是在满足运行条件时,将状态直接转换为成功。因此不会有运行日志生成。

关于任务运维的更多操作和功能说明,请参见任务运维

测试运行

  1. 单击左上角的图标,选择全部产品 > 运维中心(工作流),进入运维中心页面。

  2. 单击左侧导航栏中的周期任务, 找到需要运行的节点。单击相应节点后的周期任务

  3. 冒烟测试对话框中,填写冒烟测试名称,并选择业务日期,单击选择业务日期

  4. 自动跳转至测试实例页面,查看节点的运行状态。

  5. 选择测试实例页面中相应的实例并单击,即可看到实例DAG图。

    • 右键单击实例,可以查看该实例的依赖关系和详细信息并进行终止运行、重跑等具体操作。
    • 双击实例,即可弹出节点的属性、运行日志、操作日志、代码等信息。
    说明
    • 测试运行是手动触发节点,只要到定时的时间,立即运行,自动忽略实例的上游依赖关系。
    • 根据前文所述的实例生成规则,配置为每周二凌晨2点运行的节点write_result,测试运行时选择的业务日期是周一(业务日期=运行日期-1),实例会在2点真正运行。如果不是周一,则实例在2点转换为成功状态,且没有日志生成。

补数据运行

如果需要确认多个节点的定时情况和相互依赖关系,或者需要从某个根节点开始重新执行数据分析计算,可以进行补数据运行。

  1. 进入运维中心 > 任务列表 > 周期任务页面。
  2. 单击相应节点后的补数据 > 当前节点

  3. 填写补数据对话框中的配置,单击确定

    配置 说明
    补数据名称 填写补数据名称。
    选择业务日期 选择补数据的业务日期为2018-07-15到2018-07-22。
    当前任务 默认为当前节点,不可以更改。
    是否并行 可以选择不并行或指定允许几组任务同时运行。
  4. 自动跳转至补数据实例页面,单击相应的实例,即可看到实例DAG图。
    • 右键单击实例,可以查看该实例的依赖关系和详细信息,并进行终止运行、重跑等具体操作。
    • 双击实例,即可弹出节点的属性、运行日志、操作日志、代码等。
    说明
    • 补数据任务的实例依赖前一天,例如补2017-09-15到2017-09-18时间段内的任务,如果15号的实例运行失败了,则16号的实例也不会运行。
    • 根据前文所述的实例生成规则,配置为每周二凌晨2点运行的节点write_result,补数据运行时选择的业务日期是周一(业务日期=运行日期-1),实例会在2点真正运行。如果不是周一,则实例在2点转换为成功状态,且没有日志生成。

周期自动运行

周期自动运行,由系统根据所有节点的调度配置自动触发,所以页面没有操作入口。您可以通过以下两种方式查看实例信息和运行日志:

  • 进入运维中心 > 任务运维 > 周期实例页面,选择业务日期或运行日期等参数,搜索write_result节点对应的实例,然后右键查看实例信息和运行日志。
  • 选择周期实例页面中相应的节点实例并单击,即可看到实例DAG图。
    • 右键单击实例,可以查看该实例的依赖关系和详细信息并进行终止运行、重跑等具体操作。
    • 双击实例,即可弹出节点的属性、运行日志、操作日志、代码等。
    说明
    • 如果上游节点未运行,下游节点也不会运行。
    • 如果节点的实例初始状态为未运行,当定时时间到达时,调度系统会检查该实例的全部上游实例是否运行成功。
    • 只有上游实例全部运行成功,且定时时间到达的实例,才会被触发运行。
    • 处于未运行状态的实例,请确认上游实例已经全部成功且已到定时时间。