使用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
运行时间。 - 配置任务
high_value_finished_orders
任务依赖。任务依赖如果无法自动解析,可以手动指定上游依赖节点。
任务发布
选择上述步骤提交的任务,点击发布按钮,如下图所示。
您可以在发布列表页面可以查看任务是否发布成功。
发布成功之后,您可以进入任务运维页面查看配置的任务,并进行各种运维操作。