DataWorks作业调度
更新时间:
复制为 MD 格式
使用DataWorks可以使云原生数据仓库PostgreSQL版获得任务开发、任务依赖关系管理、任务调度、任务运维等全方位强大的能力,进一步增强分析型数据库PostgreSQL版的ETL能力。本文将介绍如何使用DataWorks来调度云原生数据仓库PostgreSQL版的脚本任务。
数据准备
- 测试数据来源于TPCH的测试数据集。
- 如何将数据导入云原生数据仓库PostgreSQL版请参见数据迁移及同步方案综述。
任务简介
任务之间的依赖是任务调度中的一个重要的功能,例如,我们在DataWorks里面创建两个云原生数据仓库PostgreSQL版的任务,其中表与任务之间的关系如下图:

- 任务:finished_orders
从orders表清洗出已经完成的订单:
o_orderstatus = 'F',并写入 finished_orders 表。 - 任务:high_value_finished_orders
从finished_orders表里面找出总价大于10000的订单:
o_totalprice > 10000,并写入 high_value_finished_orders 表。
创建任务
如何创建任务请参见创建并使用AnalyticDB for PostgreSQL节点。
配置任务依赖
任务调度的核心在于多个任务在指定时间按照指定的依赖关系运行。
例如,任务finished_orders 在每天2点开始运行,任务high_value_finished_orders在任务finished_orders成功运行之后再运行。具体操作如下所示:
- 设置任务
finished_orders运行时间。将调度周期设置为日,具体时间设置为02:00(cron 表达式为00 00 02 * * ?)。在调度依赖中,手动添加上游依赖节点olapgp_179007_root。在本节点的输出中,手动添加产出表olapgp_179007.finished_orders。 - 配置任务
high_value_finished_orders任务依赖。在调度依赖区域,将自动解析设置为是,单击解析输入输出按钮,系统自动解析出上游依赖节点,父节点输出名称为null.finished_orders,来源为自动解析。任务依赖如果无法自动解析,可以手动指定上游依赖节点。
在调度配置面板的调度依赖区域,将自动解析设为否,在依赖的上游节点输入框中手工填写上游节点名称(如olap_xxx_07.finished_orders),单击+完成添加。添加后可在父节点列表中确认来源为手动添加。
任务发布
在数据开发的 SQL 编辑器中,单击工具栏的提交并解锁按钮,任务将进入待发布状态。您可以在发布列表页面可以查看任务是否发布成功。
在创建发布包页面中,确认待发布节点的状态为检查通过后,在操作列单击发布。发布成功之后,您可以进入任务运维页面查看配置的任务,并进行各种运维操作。
在运维中心左侧导航栏选择任务列表 > 周期任务,可查看已发布的周期任务列表。选中某个任务(如finished_orders),右侧面板将展示该任务的上下游DAG依赖关系图。该文章对您有帮助吗?