做一个简单的数据处理
1. 概述
本案例我们将引导您使用Smart ETL高效地执行数据处理任务,您将学习如何利用Smart ETL中的强大算子,将商品信息表、门店信息表以及零售交易表有效地整理与融合,进而形成一张具有深度数据分析潜力的销售数据表。
本案例所使用的数据集(3个文件数据集):新建ETL案例-数据.zip
2. 实现思路
2.1. 前提准备
-
在 数据中心 > 数据集 和 智能ETL 按需创建文件夹,分别用于接入数据的输入数据集存储 和ETL处理后的输出数据集存储对于这一具体案例,您可以命名文件夹为 案例_门店销售统计 。
-
在 数据中心 > 数据集 对应文件夹下,接入3个文件数据集,作为数据处理的原始数据。
2.2. 正式步骤
-
进入 智能ETL 页面,在文件夹下新建ETL任务,跳转到ETL编辑页面,并为当前任务命名;
-
将ETL算子区的 输入数据集 拖拽至右侧画布编辑区,连续拖拽3次,并分别上传商品表、门店表、零售表;
-
通过多个ETL算子将3张表合并为一张数据表,剔除脏数据,增加计算列,形成可用于可视化分析的销售明细数据表;
-
将 输出数据集 算子拖拽至右侧画布编辑区,预览检查数据流和输出数据集的结果数据,确认数据处理流程的正确性,保存并运行ETL任务;
-
ETL任务运行成功后,可对当前任务进行查看或配置修改。
3. 示例步骤
3.1. 新建ETL任务
- 在 智能ETL 的对应文件夹下,点击 +新建ETL ,新建ETL任务;
2. 新建ETL任务后直接进入到ETL编辑界面,如下图所示:
3. 先命名ETL任务为 ETL_门店销售统计 ,再选择存储路径,本案例存储路径为 根目录>案例_门店销售统计 ;
进入到ETL编辑界面后,接下来我们进入使用ETL算子的学习。
3.2. 搭建ETL数据流
拖入输入数据集
将ETL算子区的 输入数据集 算子拖入右侧画布编辑区,然后点击 输入数据集 算子,分别上传以下3个数据集: 1.0商品资料信息、2.0门店资料信息、3.0零售明细信息 。如下图所示:
表间数据的关联设置
接下来将3个数据集按照主键进行数据关联,将分散的数据集合并为1个,以得到各个门店的商品销售明细数据。
“关联数据”可以通俗理解为“列拼接”,不同的是,关联数据需要找到双方数据集中相同的关联列进行拼接;并且拼接的形式也比较多样,最终呈现的数据集也可以自定义列。
1. 先拖入 关联数据 算子,再将各个 输入数据集 和 关联数据 算子用连接线进行连接;
2. 将3个数据集按照以下规则进行左外连接:
· 3.0零售明细信息/商品编码 = 1.0商品资料信息/商品编码。
· 3.0零售明细信息/门店编码 = 2.0门店资料信息/门店编码。
注意:内连接、左连接和全连接的区别 :
全连接:对关联列中交集行进行连接,并与未匹配的行一并输出;
内连接:仅对关联列中交集进行连接(两张表相交的部分数据行;
左外连接:默认输出左表所有行,并将右表中关联匹配的列进行连接(以左表为基准,右表向左表靠拢合并)。
剔除无效的脏数据
当源数据存在大量脏数据,或只需要部分分析数据时,可以通过“筛选数据行”操作符来实现。
实际业务中,“物料”、“咖啡”相关的数据不计入门店消费,需要剔除这部分数据。
1. 在ETL编辑区域中,找到并拖入“筛选数据行”算子;
2. 点击当前算子 添加 筛选条件:大类 不等于 “物料”、大类 不等于 “咖啡”。
扩展计算列
对现有数据集中存在的列维度进行扩展或合并计算,可以增加分析需要的新指标等。
接下来我们根据现有字段计算出“金额”并将其纳入到数据表中,作为我们后续可视化分析的新指标。
- 先拖入 添加计算列 算子,再 添加计算字段 ,然后添加“金额”字段(金额=数量*售价),选择字段类型选择为 数值。
输出数据集及ETL运行
将处理后的数据作为数据集输出。
最后我们将销售明细数据表输出,可用于后续的数据分析与可视化。
- 先拖入 输出数据集 算子,再命名 销售明细数据表,然后选择输出数据集的存储位置,本案例输出路径为 根目录 > 案例_门店销售统计 ;
2. 点击页面右上角保存下拉按钮,选择 保存运行并退出 ,运行完成后自动跳转到到您的ETL任务存储路径。
运行完成后,可进入ETL详情页,查看ETL输出数据集,完成数据处理。
3.3. 查看ETL任务
- 在ETL列表页您可以看到ETL任务完成时间,运行时间,也可进入详情页查看ETL输出数据集,如下图所示:
完成ETL任务的搭建后,接下来为您介绍如何管理ETL任务。
3.4. 管理ETL任务
ETL调度设置
当您处理的是实时流数据时,可以设置ETL任务定时运行或指定数据集更新后运行,以确保所得到的输出数据能够反映最新的信息状态。当需要运行多个ETL任务时,也可以为其指定优先级,从而确保按照业务重要性和逻辑顺序执行数据操作。本案例以指定数据集更新后运行为例:
- 在ETL列表页点击编辑图标进入ETL的详情界面,选择 更新设置 ,此时 调度状态 默认为关闭,可以看到调度状态、更新方式、更新周期等相关配置项信息;
2. 点击编辑图标进入ETL编辑界面,选择 更新设置,开启 调度状态 开关;
3. 开启 调度状态 您可以按需进行以下设置:
(1)选择 勾选的数据集更新后 、设置 触发条件 所有勾选的数据集都更新后才会触发,勾选3张数据表;
(2)选择 任务优先级 中等 、超时设置 跟随全局;
(3)点击 确定 ,完成 更新设置 ,如下图所示:
(4)选择 保存并退出 ,自动跳转到ETL详情页面;
(5)点击 更新设置 ,可查看我们刚刚设置好的配置项。
更多详见 ETL更新策略 。
权限变更
在实际业务场景中,为方便协同共享,我们可以将ETL任务所有者权限转移给其他用户,或为其他用户添加访问权限。
本案例以为其他用户添加访问权限为例:
- 在ETL详情页面,点击加号按钮(如图),在 访问者管理 弹窗中按需选择用户即可。
更多详见 权限管理 。
4. 更多
您已经学会了智能ETL最核心的分析步骤,接下来可进入 新手入门 详细了解各个算子具体分析方法。