数据管理DMS任务编排主要用于编排各类任务并进行调度执行。您可以通过创建一个或多个任务节点组成的任务流,实现复杂的任务调度,提高数据开发效率。

支持的数据库类型

  • 关系型数据库:
    • MySQL:RDS MySQLPolarDB MySQL引擎MyBase MySQLPolarDB-X、其他来源MySQL
    • SQL Server:RDS SQL ServerMyBase SQL Server、其他来源SQL Server
    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL引擎MyBase PostgreSQL、其他来源PostgreSQL
    • OceanBase:OceanBase MySQL模式OceanBase Oracle模式、自建OceanBase
    • PolarDB O引擎
    • Oracle
    • 达梦数据库
    • DB2
  • NoSQL:Lindorm
  • 数据仓库:
    • AnalyticDB MySQL版
    • AnalyticDB PostgreSQL版
    • DLA
    • MaxCompute
    • Hologres
  • 对象存储:OSS

创建任务流流程

4任务编排-流程图

操作步骤

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择集成与开发(DTS) > 数据开发 > 任务编排
  3. 新增任务流。
    1. 单击新增任务流
    2. 新建任务流对话框中,输入任务流名称描述,单击确认
  4. 创建任务流节点。
    1. 添加任务节点。在画布左侧任务类型列表中,拖拽目标任务节点到画布空白区域。更多信息,请参见任务类型介绍
    2. 配置任务节点。单击目标任务节点并选择5设置2或双击目标任务节点,在任务节点配置页面,配置任务节点。
    3. 可选:连接任务节点形成任务流。将鼠标放在上游节点上,单击上游节点右侧出现的空心圆点并拉出连接线,连接至下游节点上。
      以连接单实例SQL赋值节点的下游节点条件分支为例,将鼠标放在单实例SQL赋值节点上,单击单实例SQL赋值节点右侧出现的空心圆点并拉出连接线,连接至条件分支节点上。单实例赋值举例
  5. 在页面下方,配置、查看任务流相关信息。
    1. 单击任务流信息页签,配置基础属性相关信息。
      配置项 说明
      任务流名称 设置任务流名称。
      描述 描述任务的原因或目标,以减少沟通成本。
      责任人 责任人可编辑当前任务流、任务相关配置,可试运行任务,并接收任务运行告警信息。
      说明 若您需要变更责任人,在变更后,必须重新发布该任务流才可生效。
      相关人员 相关人员具有查看当前任务流、任务相关配置的权限,可试运行任务,但不具有编辑权限。
      说明 DMS的管理员和DBA默认具有相关人员的基本权限,同时额外具备编辑责任人的权限。
      错误处理策略 该策略用于运行任务流时,如果出现第一个错误该采取什么样的策略。策略及其说明如下:
      1. 完成运行中的任务:任务流中其他正在运行的节点任务将会保持运行直到结束,其他的节点任务不会被运行,正在运行的任务流运行结束后,任务流将会被标记为运行失败。
      2. 立即停止所有任务:在错误发生后,立即停止运行所有任务流的任务,包括运行中和未运行的任务。
      3. 完成其他不相关任务:假若执行A节点任务出错后,还会继续运行任务流中正在执行的任务,如果这些节点后还有与A有依赖关系的任务也会被调度运行。
      并发控制策略 当两个任务流中的一个任务流中已有正在运行的实例时,再次运行时您可以选择如下策略:
      • 跳过:不运行该任务流,直接跳过。
      • 忽略:直接运行该任务流(请确认之前的执行实例不会收到影响)。
      • 并行:并行运行两个任务流。
        • 并行模式1:阻塞任务A直到前一个任务流的任务A已经完成。
        • 并行模式2:阻塞任务 A 直到前一个任务流的任务 A 的子节点已经完成。
      公开任务流 选择是否公开该任务流,设置公开后,该任务流可被租户内的所有用户查看,但无编辑和运行任务流的权限(责任人除外),同时,也不会统计到(除责任人以外的用户)执行该任务流的状态数。
    2. 任务流信息页签的调度配置区域,打开开启调度开关,配置调度周期。
      配置项 说明
      调度类型 选择调度类型:
      • 周期调度:周期性调度任务,例如一周执行一次任务。
      • 调度一次:在指定时间执行一次任务,仅需要配置执行任务的具体时间。
      生效时间 选择调度周期生效的区间,默认1970-01-01~9999-01-01,表示一直生效。
      调度周期 选择调度任务的周期:
      • 小时:按设定的小时执行任务调度,需要配置定时调度。
      • :按每日一次的频率执行任务调度,需要配置每日调度的具体时间。
      • :以周为周期,每个指定天执行一次任务调度,需要配置指定时间和具体时间。
      • :以月为周期,每个指定天执行一次任务调度,需要配置指定时间和具体时间。
      定时调度 提供了2种定时调度的方式:
      • 固定间隔时间调度:
        • 开始时间:执行任务的开始时间。
        • 间隔时间:执行任务的间隔时间,单位为小时。
        • 结束时间:执行任务的结束时间。
        例如,配置开始时间为00:00、间隔时间为6小时、结束时间为20:59,系统将在0点、6点、12点、18点执行任务。
      • 指定时间调度:选择执行任务的目标时间点。

        例如选择和0小时和5小时,系统将在0点和5点执行任务。

      指定时间
      • 如果调度周期为周,选择星期几执行任务,支持多选。
      • 如果调度周期为月,选择每月几号执行任务,支持多选。
      具体时间 设置执行任务流的具体时间。

      例如配置02:55,系统将在指定天的02时55分执行任务。

      cron表达式 不需要手动配置,系统会根据您配置的周期、具体时间自动展现。
    3. 可选:单击操作历史页签,查看该任务流的所有更改操作。
    4. 可选:单击通知配置页签,如果打开通知开关,系统会根据任务流执行结果,给您发送相应的通知消息。
      • 成功通知:任务流执行成功。
      • 失败通知:任务流执行失败。
      • 超时通知:任务流执行超时。
  6. 发布数据流。具体操作,请参见发布任务流

任务类型介绍

分类 任务类型 描述 相关文档
数据集成 DTS数据迁移 实现跨库、全量、单表或整库的数据迁移,迁移的类型包括数据和结构。 配置DTS数据迁移节点
离线数据集成 用于数据迁移、数据传输等场景,实现数据源之间的数据同步。 配置离线数据集成节点
数据加工 单实例SQL 将SQL语句发放到指定的关系型数据库上并执行。
说明 如果目标实例已开启无锁结构变更,单实例SQL任务会优先采用无锁结构变更的方式执行,可以有效避免锁表问题。更多信息,请参见开启无锁结构变更
跨库Spark SQL 基于Spark引擎,实现大规模跨库数据传输和数据加工,主要针对各类跨库数据同步和数据加工场景。 配置跨库Spark SQL节点
Lindorm Spark 通过Lindorm计算引擎高效地完成分布式计算任务,满足用户在数据生产、交互式分析、机器学习和图计算等场景中的计算需求。 配置Lindorm Spark节点
DLA Serverless Spark 用于配置Serverless Spark作业。 创建和执行Spark作业
无锁数据变更 采用DMS无锁技术实现数据的Update、Delete等变更。
说明 目标实例需开启无锁结构变更。更多信息,请参见开启无锁结构变更
DML无锁变更概览
DLA Spark SQL 通过SQL的方式提交作业到DLA Spark集群。
通用 单实例SQL赋值 将SELECT语句读取的数据赋值给输出变量,输出变量可以在下一节点中被使用。 配置SQL赋值节点
条件分支 条件分支节点可用于在任务流中进行条件判断。执行任务流时,如果条件分支节点的条件表达式判断结果为True,执行后续任务,否则不执行后续任务。 配置条件分支节点
DLA一键数仓 基于DLA一键建仓的功能,将数据库的数据上传到OSS,建立数据仓库。 一键建仓
DBS备份 通过DBS将数据库的数据备份到DBS提供的OSS中。 DBS
EC远程命令 基于ECS云助手在远程ECS上执行Shell、PowerShell、Bat命令或脚本代码。 配置ECS远程命令节点
脚本代码 基于数据库网关的脚本任务可以实现周期性或定时运行脚本。 配置脚本代码节点
状态检查 表时间列状态检查 检查某一时间点后,目标表中是否有新增数据。
Lindorm文件检查 用于检查Lindorm HDFS下某个文件是否存在。
SQL状态检查 通过SQL语句检查数据状态。例如,统计班级里男生是否超过10人。
稽核任务 用于检查数据质量。设置质量规则和调度周期后,自动检查数据质量并生成报告。
任务流依赖检查 实现任务流自依赖和跨任务流间依赖,依赖的目标对象可以是某个任务流或某个任务节点。 配置任务流依赖检查节点

相关文档