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

目录:

1. 概述编辑

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

设置 ODS 层任务需要将来自接口数据的「财务数据」和存储在固定数据库的「销售数据」通过 FineDataLink 落库至指定数据库,并通过使用参数和调度任务,实现 ODS 层任务定时更新,并发送消息通知。

2. 操作步骤编辑

2.1 创建文件夹

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

2.2 设置财务数据同步任务

由于财务数据包含了三个区「华北」、「华东」和「华南」,同时财务数据是需要通过接口取数,因此可以通过三个「数据转换」进行取数落库。

新建 ETL 任务,命名任务为「ODS_财务数据」,在画布中拖入数据转换节点,命名为「华北财务数据」,如下图所示:

进入数据转换界面后,使用 RestAPI 输入将接口数据取出,如下图所示:

添加「JSON解析」并将RestAPI 输入连接,点击「选择JSON节点」,选择需要进行解析的JSON,点击「确定」,如下图所示:

在数据预览界面,即可看到解析完成的华北财务数据,如下图所示:

取出数据后即可将数据同步至指定的数据库,由于我们需要实现定时更新,比如每周更新一次,让落库的 ODS 层数据保持时效性,因此需要通过设置自定义参数进行控制。

点击「确定」保存华北财务数据做的设置,然后在数据转换节点界面设置参数,即 「date」参数显示任务执行时间前7天的时间,如下图所示:

新增「Spark SQL」,连接上一个算子后,判断「订单生成时间」字段值是否晚于指定参数值,如果是,则说明接口数据中有新数据生成,需要同步至指定数据库,如下图所示:

此时已经选好需要输出的数据,新增 DB 表输出算子,连接上一个节点,然后选择需要数据同步的目标数据表,如下图所示:

其他两个地区「华东」和「华南」的财务数据同理。

为了控制三个数据转换任务的执行,可以使用虚拟节点将其连接,如下图所示:

2.3 设置销售数据同步任务

销售数据也是包含三个区「华北」、「华东」和「华南」,并且存储在数据库 FRDemo 中,希望将该数据和 2.1.1 节中的接口数据存放到同一个数据库中,因此使用数据同步功能。

以华北销售数据为例。

新建 ETL 任务,命名任务为「ODS_销售数据」,在画布中拖入数据同步节点,命名为「华北财务数据」,如下图所示:

由于我们需要实现定时更新,比如每周更新一次,让落库的 ODS 层数据保持时效性,因此需要通过设置自定义参数进行控制。

设置参数 date,即 「date」参数显示任务执行时间前7天的时间,如下图所示:

在数据同步节点的「数据来源」界面,选择来源的数据库,并查询需要同步的数据,判断「销售时间」值是否晚于指定参数值,如果是,则说明来源数据库中有新数据生成,需要同步至指定数据库,如下图所示:

将需要输出数据同步至指定的目标数据库中即可,如下图所示:

其他两个地区「华东」和「华南」的销售数据同理。

为了控制三个数据同步任务的执行,可以使用虚拟节点将其连接,如下图所示:

2.4 设置 ODS 层调度任务

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

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

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

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