从零开始创建周期调度任务流


本章节描述如何从零创建基于调度参数自动运行的周期调度任务流。

开始前准备

确保你已创建用于运行数据的资源的代码和脚本。更多信息,参考 创建资源

注解

创建后,周期调度任务流不会影响手动调度任务流。

步骤1:创建任务流

  1. 在 EnOS 管理控制台中选择 批数据处理 > 任务流开发,点击目录树上方的 +,或点击空白页中的 新建任务流
  2. 新建任务流 窗口中,完成以下设置,然后点击 确定
    • 方式:选择 新建
    • 名称:输入任务流的名称。
    • 调度类型:选择 周期调度
    • 描述:输入有关任务流的描述性信息。
    • 选择目录:选择保存任务流的目录。

步骤2:(可选)添加引用

如果任务流依赖于另一个任务流或任务节点,可为任务流添加依赖引用。

  • 引用任务流:可被依赖引用的任务流是一个完整的workflow。将 任务流依赖 类型的引用拖曳到配置面板中,选择依赖的任务流,然后点击 创建
  • 引用任务节点:可被依赖引用的任务节点是任务流中的一个节点。将 任务节点依赖 类型的引用拖曳到配置面板中,选择依赖的任务节点,然后点击 创建

注解

  • 可被依赖引用的任务节点,须在节点配置中将其设置为可被依赖,且被依赖的任务节点必须加在任务流之前。
  • 可被依赖引用的任务节点必须为周期任务。
  • 选择被依赖的任务流或任务节点时,需通过其实例ID进行选择。可通过 任务流运维 页面,点击任务名称,查看节点实例ID。

步骤3:添加任务节点

在任务流中,可以添加数据同步、SHELL、外部应用、和 PYTHON 类型的任务作为任务节点。

添加数据同步任务节点

通过以下步骤,添加数据同步类型的任务节点:

  1. 任务节点 面板中,将 数据同步 类型节点拖曳到配置面板中。
  2. 新建任务节点 窗口中,输入任务节点的名称和描述。任务节点名称在同一任务流中不可重复。
  3. 选择待同步的数据类型,可选 结构化数据文件流
  4. 点击 创建
  5. 双击创建的节点,完成数据同步任务的配置。有关配置数据同步任务的详细步骤,参考 数据同步概述
  6. 点击配置面板右侧边缘的 节点配置 并完成调度属性的设置:
    • 具体时间:使用7个字符的CronTab语法描述运行任务的确切时间。例如,值59 59 23 * * ? *表示任务在每天23:59:59运行。有关CronTab的更多信息,参考 http://cron.qqe2.com/
    • 超时时间:指定任务超时的时长。
    • 重试次数:超时后,重新尝试连接的次数。
    • 重试间隔:每次重新尝试之间的间隔。
    • 可否被依赖:设定该任务是否可以被其他任务流引用。
  7. 点击配置面板右侧边缘的 参数设置,可设定任务中使用到的参数值。可以为参数指定常量、系统变量、或自定义变量。更多信息,参考 设置任务流或SHELL类型任务的参数
  8. 点击配置面板右侧边缘的 运行模式,可设定任务运行所需的容器计算资源。
  9. 点击 保存,然后点击 返回任务流面板,完成任务节点配置。

添加 SHELL 任务节点

通过以下步骤,添加 SHELL 类型的任务节点:

  1. 任务节点 面板中,将 SHELL 类型节点拖曳到配置面板中。
  2. 新建任务节点 窗口中,输入任务节点的名称和描述。任务节点名称在同一任务流中不可重复。
  3. 点击 创建
  4. 双击创建的节点,完成任务节点配置。
  5. 输入要运行的命令,选择资源和资源版本(将需要执行的 Shell 脚本通过任务资源的资源管理上传)。
  6. 点击配置面板右侧边缘的 节点配置,完成调度属性的设置。
  7. 点击配置面板右侧边缘的 参数设置,可设定任务中使用到的参数值。可以为参数指定常量、系统变量、或自定义变量。更多信息,参考 设置任务流或SHELL类型任务的参数
  8. 点击配置面板右侧边缘的 运行模式,可设定以单任务模式或多任务模式运行 SHELL 任务。
    • 若选择以单任务模式运行,设置任务运行所需的容器计算资源。
    • 若选择以多任务模式运行,设置任务运行所需的容器计算资源、最大并发数、以及指定分布键来源(来自外部文件或自定义)。
  9. 点击 保存,然后点击 返回任务流面板,完成任务节点配置。

添加外部应用任务节点

通过以下步骤,添加外部应用类型的任务节点:

  1. 任务节点 面板中,将 外部应用 类型节点拖曳到配置面板中。
  2. 新建任务节点 窗口中,输入任务节点的名称和描述。任务节点名称在同一任务流中不可重复。
  3. 点击 创建
  4. 双击创建的节点,完成任务节点配置。
  5. 输入外部应用的域名和命令(如果需要传递其它参数,可在页面右侧边缘的 参数设置 中配置后,在命令里引用)。
  6. 点击配置面板右侧边缘的 节点配置,完成调度属性的设置。
  7. 点击配置面板右侧边缘的 参数设置,可设定任务中使用到的参数值。可以为参数指定常量、系统变量、或自定义变量。更多信息,参考 设置任务流或SHELL类型任务的参数
  8. 点击 保存,然后点击 返回任务流面板,完成任务节点配置。

添加 PYTHON 任务节点

通过以下步骤,添加 PYTHON 类型的任务节点:

  1. 任务节点 面板中,将 PYTHON 类型节点拖曳到配置面板中。
  2. 新建任务节点 窗口中,输入任务节点的名称和描述。任务节点名称在同一任务流中不可重复。
  3. 点击 创建
  4. 双击创建的节点,完成任务节点配置。
  5. 命令 框中输入要运行的命令,并选择已上传的对应资源和资源版本(已将需要执行的 Python 脚本通过 任务资源 上传。有关使用 Python 访问 HDFS/Hive 的方法,参见 Python 访问各类数据源方法)。
  6. 点击配置面板右侧边缘的 节点配置,完成调度属性的设置。
  7. 点击配置面板右侧边缘的 参数设置,可设定任务中使用到的参数值。可以为参数指定常量、系统变量、或自定义变量。更多信息,参考 设置任务流或SHELL类型任务的参数
  8. 点击配置面板右侧边缘的 运行模式,可选择镜像并设定以单任务模式或多任务模式运行 PYTHON 任务。
    • 镜像:可选择默认、Showflake 或 Pgsql 镜像服务,操作数据库中数据。
    • 若选择以单任务模式运行,设置任务运行所需的容器计算资源。
    • 若选择以多任务模式运行,设置任务运行所需的容器计算资源、最大并发数、以及指定分布键来源(来自外部文件或自定义)。
  9. 点击 保存,然后点击 返回任务流面板,完成任务节点配置。

步骤4:添加关联线

添加关联线的步骤如下:

  1. 关联线 面板中,选中 关联线
  2. 在任务流面板中,将鼠标移至上游任务节点上,点击鼠标左键不要释放。
  3. 拖动箭头至下游任务节点上。


根据需求重复步骤2和3完成所有关联。

注解

引用必须是根节点。

步骤5:配置调度

  1. 点击任务流配置面板右侧边缘的 调度配置
  2. 完成以下基本属性设置:
    • 任务名称:如需更新任务流的名称,输入新的任务流名称。
    • 队列:(可选)输入运行任务流的 批数据处理-大数据队列 名称(通过资源管理页面申请)。
    • 负责人:负责人可以是本组织中具有访问数据集权利的用户。默认为任务流创建者。负责人具有以下事实:
      • 作为创建者,无法删除自己。
      • 可以在同一组织中添加其他负责人。
      • 同一负责人不可再创建具有相同名称的另一个任务流。
    • 描述:(可选)输入任务流和调度配置说明。
    • 预警方式:选择告警的方式。邮件为强制选择项。
      • 邮件:当实例满足告警条件时,会向负责人发送告警电子邮件。当任务失败时,告警的副本也会发送给受影响的下游任务负责人(如果有)。
      • 短信:必须是在用户注册期间通过短信认证的电话号码。当实例满足告警条件时,短信告警仅发送给负责人。
  3. 完成以下调度属性设置:
    • 生效日期:指定任务流何时开始生效。
    • 调度周期:指定调度周期,即运行任务流的频率。例如,可以设定每天运行任务流。
    • 具体时间:根据选择的周期,设置运行任务流的确切时间。例如,可以设置在每天上午9:00运行任务流。如果选择使用CronTab语法,按7个字符的CronTab表达式输入。例如,值59 59 23 * * ? *表示任务流在每天23:59:59运行。有关CronTab的更多信息,参考http://cron.qqe2.com/
    • 调度状态:可指定是否暂停任务流调度。

步骤6:配置参数

当参数使用在配置数据源和目标时,需指定参数值。有关更多信息,请参阅 设置任务流或SHELL类型任务的参数

后续操作

点击 预跑,测试运行任务流。例将在运行任务流后产生。然后,你可在任务运维中跟踪有关实例的详细信息。更多信息,参考 监控手动任务流