实验报告:订单利润分流数据加工

一、实验背景

1.1 实验目的

本次实验旨在熟悉助睿零代码数据集成平台(ETL平台)的核心功能和操作方法,具体包括:
- 掌握新建转换、添加组件、执行转换等基本操作流程;
- 熟悉表输入、记录集连接、字段选择、过滤记录、Excel输出等常用组件的配置方法;
- 理解多表关联、数据过滤与分流处理的ETL设计思路。
通过本次实验,希望我们能够独立使用助睿平台完成常见的数据加工任务,为后续更复杂的数据处理场景打下基础。

1.2 实验环境

- 零代码在线实验平台:助睿数智(Uniplore)一站式数据科学平台;
- 数据库:MySQL(含订单数据和产品信息表);
- 数据准备:
  - 订单表:business_anaylsis.order_detail
  - 产品表:business_anaylsis.product

1.3 业务场景

在企业经营分析中,经常需要将多张表关联起来计算利润,并按利润正负对订单进行分类存储。本实验以订单利润分流为例,通过零代码拖拽方式完成这一数据处理任务。

1.4 数据加工流程

订单明细表与产品信息表进行左外连接 → 移除重复字段 → 按利润是否大于等于零进行分流 → 分别输出盈利订单和亏损订单到两个Excel文件。

二、实验步骤

2.1 登录实验平台

1. 在贵兰在线对应的课程学习页面,点击"实验课1:助睿ETL入门实验";
2. 点击课程实训说明中的"大数据实训平台",前往实验地址 https://lab.guilan.cn/ ;
3. 从贵兰在线进入实验平台可以自动登录,登录成功后进入实验平台首页。

2.2 前期准备(新建项目与同步数据源)

1. 进入"数据集成"模块,新建项目(如命名为"助睿ETL入门实验");

2. 在左侧菜单点击"元数据",右键"关系数据库"选择"同步数据源";

3. 切换至文件库再切回元数据,确认出现"线上公共数据源(Readonly)",即同步成功。

2.3 新建转换流

1. 切换到"资源库",右键根目录选择"新建转换流";


2. 命名为"订单利润分流数据加工",点击确定;


3. 进入画布后,点击上方的"锁"图标解锁画布,开始编辑。

2.4 添加与连接组件

按顺序添加以下组件并进行连线:
1. 表输入(2个):

 - 一个命名为"订单_详细订单",另一个命名为"订单_产品信息";


2. 记录集连接:
   - 连接上述两个表输入组件到记录集连接组件(建立连线时若出现"排序需要"提示属正常情况);


3. 字段选择:
   - 命名为"移除产品ID_1字段",连接记录集连接组件的输出;


4. 过滤记录:
   - 连接字段选择组件的输出(连接线类型选择"主输出步骤");


5. Excel输出(2个):
   - 分别命名为"盈利订单"和"亏损订单";
   - 从过滤记录组件连线到"盈利订单",类型选"True输出";
   - 从过滤记录组件连线到"亏损订单",类型选"False输出"。

2.5 配置组件信息

1. 表输入组件配置
- 双击"订单_详细订单":数据库连接选择"线上公共数据源(Readonly)",点击"获取SQL查询语句",选择 business_anaylsis.order_detail,确认。


- 双击"订单_产品信息":同理,选择 business_anaylsis.product。


2. 记录集连接组件配置
- 第一个Transform选择"订单_详细订单",第二个选择"订单_产品信息";
- 连接类型选择 LEFT OUTER(左外连接);


- 点击"获得连接字段",确保关联字段为 product_id(订单表)与 id(产品表),可删掉无关字段。


3. 字段选择组件配置
- 双击"移除产品ID_1字段",选择"移除"选项,点击"获取字段";


- 在字段列表中,只保留需要移除的重复字段(如产品表的 id),其余移除非移除字段的行,点击确认。


4. 过滤记录组件配置
- 字段选择 profit(Number类型);
- 条件选择 >=;
- 值类型选择 Integer,值填 0;
- 满足条件发送至"盈利订单",不满足条件发送至"亏损订单"。



5. Excel输出组件配置
- 双击"盈利订单":文件名设为"盈利订单",扩展名选 xlsx [Excel 2007 and above],在输出字段处右键"获取字段"并确认;


- 双击"亏损订单":文件名设为"亏损订单",其余配置同上。

2.6 执行转换

1. 点击画布上方的"启动"按钮,在弹窗中点击"启动";


2. 等待执行完成,查看日志无报错即成功。

2.7 查看结果

1. 点击左侧"文件库",右键根目录"刷新";
2. 可看到生成的"盈利订单.xlsx"和"亏损订单.xlsx";


3. 右键下载后可打开验证:
   - 盈利订单文件中的 profit 均 ≥ 0;
   - 亏损订单文件中的 profit 均 < 0;
   - 两个文件的数据行数之和应等于原始订单表的数据行数。

三、实验结果

- 成功生成两个Excel文件:盈利订单.xlsx(利润≥0的订单)和 亏损订单.xlsx(利润<0的订单);
- 数据分流结果正确,字段完整,无重复或缺失记录;
- 实现了从多表关联到计算、过滤、分流及导出的完整ETL流程。

四、问题与解决(示例)

1. 问题:Excel输出组件获取不到字段。
   原因:过滤记录到Excel输出的连接线类型选错。
   解决:盈利订单接"True输出",亏损订单接"False输出"。

2. 问题:连接后字段重复。
   原因:两表关联后存在同名字段(如product_id)。
   解决:使用字段选择组件移除重复字段。

3. 问题:过滤条件不生效,分流结果为空。
   原因:利润字段计算公式错误或过滤符号配置错误。
   解决:检查字段选择中的利润计算式 (unit_price - cost_price) * quantity,过滤条件设为 profit >= 0。

五、实验总结

通过本次实验,我掌握了助睿零代码ETL平台的基本操作流程,熟悉了表输入、记录集连接、字段选择、过滤记录、Excel输出等核心组件的使用方法,理解了多表关联、数据清洗、条件过滤与结果分流的ETL设计思路,能够独立完成订单利润分流的数据加工任务,为后续数据分析与处理打下了良好基础。

Logo

一站式 AI 云服务平台

更多推荐