历史版本4 :每天获取Excel昨日新增数据导入数据库 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

Excel 数据表为源数据表,每天会新增数据,用户希望数据库中的某张表自动新增 Excel 里面昨天新增的数据。

1.2 实现思路

Excel 数据集作为要输入的数据,使用 Spark SQL 算子筛选出前一天的数据后,通过 DB 表输出算子输出到数据库的某张表中。

2. 示例编辑

2.1 新建 Excel 数据集

示例数据:出入库信息.xls,为数据来源表,每天都会更新信息。

具体步骤请参见:数据源类型为Excel 文档的 2.1 节内容。

2.2 创建任务

新建一个 ETL 任务,将一个「数据转换」节点拖到设计界面。如下图所示:

19.png

2.3 设置数据输入

1)点击「数据转换」节点进入设置页面。

2)将一个「数据集输入」算子拖到数据转换的设计界面,进行设置。如下图所示:

20.png

2.4 设置 Spark SQL 算子

1)将 Spark SQL 算子拖到数据转换的设计界面,并使用线条跟它的上游「数据集输入」算子相连。

2)按照下图配置 Spark SQL 。语句为:select * from 数据集输入 where `入库日期` = date_add("${cyctime}",-1)。如下图所示:

注1:表名为上游节点的名称;语句不能直接复制,「数据集输入」需点击生成。

注2:SQL 语句含义:筛选出前一天入库的信息。

22.png

数据预览 Tab 页面如下图所示:

23.png

2.5 设置 DB 表输出

再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「Spark SQL」算子相连。

1)点击「DB表输出」算子对它进行设置。如下图所示:

注:示例中 xinxi 表为新建的空表。

2)点击右上角「保存」按钮。如下图所示:

2.6 设置定时更新

1)回到 ETL 任务设计界面,点击右上角调度配置设置任务定时执行时间。如下图所示:

注:用户根据实际情况设置执行时间;执行时间在数据来源表更新数据之后就行。

52.png

2)点击右上角保存按钮。

2.7 任务结果

任务执行后,目标表数据如下图所示:

1650424504692308.png