历史版本6 :设置DW层任务 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

数仓调度场景案例给出了整体的调度方案,本文将为你介绍如何设置 DW 层任务。

DW 层任务即将 ODS 层数据中更新的数据同步至 DW 层数据中。若已有的 ODS 层数据中最新更新时间(比如最新的销售时间)晚于 DW 层数据中的时间,即 ODS 层有新数据生成,需要将其同步至 DW 层中,同时记录更新的开始时间和结束时间,并发送消息通知。

2. 操作步骤编辑

2.1 创建文件夹

首先创建「DW」文件夹,存放 DW 层任务,预计有两个ETL任务,分别对应「财务数据」和「销售数据」,如下图所示:


2.2 设置财务数据任务

为了便于记录数据更新的日志,因此需要获取任务开始时间并将其设置为参数,当任务开始执行的时候就记录当前时间。

新建 ETL 任务,命名为「DW_财务」,然后添加「参数赋值」功能,设置 SQL 语句显示当前时间,并将其设置为参数 time1,如下图所示:

然后开始进行任务设置。

判断 DW 层中 dx_caiwu 数据中最晚的订单生成时间是否晚于 ODS 层中财务数据的订单时间,也就是将 ods层新增的数据同步至DW 层中 dx_caiwu 数据表中。

使用参数赋值,取出dx_caiwu中最晚订单生成时间,并设置为 time 参数,如下图所示:

新建数据同步节点,将设置ODS层任务中落库的 ODS 华北财务数据取出,并使用time参数,如果华北财务数据中「订单生成时间」晚于 DW 层中 dw_caiwu 数据中最晚订单时间,则将这部分新增的数据同步至 dw_caiwu 数据表中,如下图所示:

2.png

「华东财务」和「华南财务」同理。

数据同步完成后就需要再次记录结束的时间来写入日志中,因此和获取开始时间一样,需要新建参数赋值节点,获取结束时间并设置时间参数,如下图所示:

在任务获取开始和结束时间后,即可通过SQL脚本将时间写入准备好的日志数据表 dw_logs 中,如下图所示:

然后设置消息通知,当DW_财务数据任务执行成功,则发送通知,如下图所示:

2.3 设置销售数据任务

销售数据的任务同理。

2.4 设置 DW 调度任务

DW 层的数据同步任务已经完成,此时需要通过新建「DW调度」任务,将财务数据和销售数据的两个任务组合起来同时执行,并发送执行后的结果通知。

新建 ETL 任务命名为「DW调度」,添加调用任务节点,选择 2.2 节创建的财务数据任务,如下图所示:

同理,销售数据也进行调用。

然后新增消息通知节点,DW 层执行成功则发消息通知,如下图所示: