在以前,我们做数据处理的时候要么写 SQL,要么用 Python 连 Pandas,虽然灵活但对于不熟悉代码的小伙伴来说确实是个不小的挑战。这次我们换一种方式,使用拖拽各种组件的方式来完成一个完整的订单利润分流任务。

一、实验背景

1.1 实验目的

这次实验主要是让我们一起使用一下助睿数智(Uniplore)一站式数据科学实验平台这个零代码 ETL 平台的使用方法。

具体来看,这次实验我们主要是要了解:

(1)我们怎么在平台上新建一个转换(Pipeline),然后把不同的组件拖到画布上连起来;

(2)表输入、记录集连接、字段选择、过滤记录、Excel 输出这几个常用组件分别是干什么的,配置的时候要注意什么;

  (3) 多表关联和数据分流到底是怎么通过这种可视化方式实现的,跟写代码的思路有什么不一样。

对我们刚入门的新手来说,重要的不仅是把流程跑通,也要理解背后“数据流”的设计思想,以后遇到类似的加工任务,也能自己独立使用搭出合理的 ETL 流程来,这也为我们后续更复杂的数据处理场景打下基础。

1.2 实验环境

       零代码在线实验平台:本次实验使用助睿数智(Uniplore)作为一站式数据科学平台。

       数据库:MySQL(含订单数据和产品信息表)

       数据准备:订单表(business_anaylsis.order_detail)、产品表(business_anaylsis.product)

1.3 业务场景

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

1.4整体处理流程

       本次实验的整体逻辑为:订单明细表与产品信息表进行左外连接 → 移除重复的ID字段 → 按利润是否大于等于零进行分流 → 最后分别输出盈利订单和亏损订单到两个Excel文件。

  • 二、实验步骤

2.1 登陆实验平台

       配置要点:

  • 打开浏览器,访问 https://lab.guilian.cn/
  • 使用账号密码完成登录
  • 登录成功后进入贵兰在线首页

2.2 进入实训平台创建新项目

       操作说明:在贵兰在线首页,点击右上角头像,选择我的学习,然后点击左侧菜单中的实训平台,跳转至助睿数智实验平台首页。

进入数据集成界面:点击左侧导航栏中的「数据集成」选项,切换至数据集成操作页面,该页面为ETL转换流搭建的核心区域

 

进入数据集成界面后就可以新建项目了,这里我将项目命名为实验一。

2.3新建转换流

       操作说明:在平台首页,点击“新建”按钮,选择新建转换流(Pipeline),这里我们命名为“订单利润分流处理”。

核心概念理解

在进行操作之前,需要先理解助睿平台中的基本概念:

概念

说明

Pipeline(转换)

面向数据流,处理数据的一个功能单元,由多个Transform组成

Workflow

面向任务,完成一件完整的事,由多个Action组成,必须包含开始项

Transform

转换内的最小单元,如“表输入”、“字段选择”,每个步骤独立线程运行

Action(任务项)

作业的执行单位,如“启动”、“发送邮件”

Hops

数据传输通道,连接步骤或任务项

2.4添加表输入组件——订单明细表

       操作说明:从左侧组件面板中找到“表输入”分类,拖拽“表输入”组件到画布中央区域。右键该组件,点击“编辑组件”,将步骤名称改为“详细订单”。

2.5 添加表输入组件——产品信息表

       操作说明:再次拖拽一个“表输入”组件到画布,放置在订单明细表组件的右侧。右键组件,将步骤名称改为“产品信息”。

2.6 添加记录集连接组件(多表关联)

       操作说明:从组件面板“连接”分类中拖拽“记录集连接”组件到画布,将两个表输入组件通过Hops连接到该组件。

注意:此时会报出提示“排序需要”的提示。这是由于记录集连接组件是按接收数据的顺序进行记录关联的,如果接收的数据是无序的,可能会造成记录连接结果出错。

2.7 添加字段选择组件(移除重复ID)

       操作说明:从组件面板“转换”分类中拖拽“字段选择”组件到画布,连接至记录集连接组件的输出端。右键该组件,将步骤名称改为“移除产品ID字段”。

2.8 添加过滤记录组件(按利润分流)

       操作说明:从组件面板“流程”分类中拖拽“过滤记录”组件到画布,连接至字段选择组件的输出端。

       配置要点

  • 在弹窗的下拉列表中选择将结果发送给不同的后续处理步骤
  • 选择 profit(Number)字段作为判断字段
  • 选择 >= 作为判断条件
  • 点击“Value”,类型选择 Integer,值输入 0,点击确定
  • True输出路径:连接至盈利订单的Excel输出组件(profit ≥ 0)
  • False输出路径:连接至亏损订单的Excel输出组件(profit < 0)

连接过滤记录的时候选择“主输出步骤”

2.9 添加Excel输出组件——盈利订单

              操作说明:从组件面板“输出”分类中拖拽第一个“Excel输出”组件到画布,连接至过滤记录组件的True输出端。右键组件,将步骤名称改为“盈利订单”。

连接“盈利订单“的时候我们选择True输出

2.10 添加Excel输出组件——亏损订单

       操作说明:再次拖拽一个“Excel输出”组件到画布,连接至过滤记录组件的False输出端。右键组件,将步骤名称改为“亏损订单”。

       连接“亏损订单“的时候我们选择False输出

编辑“纪录集连接“节点的信息

 

2.11 执行转换并查看结果

       操作说明:完成所有组件配置和连接后,点击画布上方的“执行”或“运行”按钮,启动转换流程。

       执行前检查清单

  • 所有组件之间的Hops连接是否正确
  • 两个表输入组件是否都配置了正确的SQL语句

  • 记录集连接的连接类型是否为LEFT OUTER JOIN
  • 过滤记录的条件表达式是否正确

  • 两个Excel输出的文件名是否区分明确

执行后操作

  • 流程图中的组件上出现绿色“✔”号,表示已成功运行

  • 查看执行日志,确认每个步骤的输入/输出记录数

  • 检查是否有报错信息
  • 确认两个Excel文件是否成功生成

  • 三、实验结果

3.1  输出文件

执行转换后,成功生成了两个Excel文件

文件名

数据说明

业务说明

盈利订单.xlsx

profit ≥ 0 的订单数据

可用于进一步分析高利润产品特征

亏损订单.xlsx

profit < 0 的订单数据

可用于追踪亏损原因,辅助经营决策

右键文件选择下载后,打开查看

“盈利订单”内容截图:

盈利订单的profit都是大于等于0的,说明我们的流程是正确的

亏损订单内容截图:和盈利订单profit对应,亏损订单的profit都是低于0的,再次证明了我们的工作流程是正确的。

  • 四、问题与解决

4.1 问题1:记录集连接后字段重复导致后续组件报错

问题现象:在执行转换时,“字段选择”或后续组件提示存在重复的字段名,无法继续执行。

问题原因:订单明细表和产品信息表中都包含 product_id 或 id 字段,经过LEFTOUTER JOIN连接后,这两个字段会同时出现在结果集中,导致字段名冲突。

解决方法:在“字段选择”组件中,通过“移除”功能明确消除重复的字段。具体操作是:双击字段选择组件,点击“移除”标签页,右键点击“获取字段”,在获取得到的字段中将除了需要保留的字段之外的字段删掉,只保留 id 字段并确定移除。

 

4.2 问题二:Hops连接方向错误导致数据流异常

问题现象:转换执行后,可能某些组件没有数据流入,或者数据流向了错误的组件。特别是过滤记录组件之后的两个分支,有一个分支始终没有数据输出。

问题原因:在画布上连接Hops时,拖拽的方向决定了数据的流向。如果方向反了,数据就无法正确传递。另外,对于“过滤记录”组件,True和False两个输出端要分别连接到正确的下游组件,如果连接错误,就会导致本该流向盈利订单的数据去了亏损订单,或者出现数据丢失。

解决方法

  • 在画布上,Hops带有箭头,确保箭头方向指向数据流动的方向(从上游指向下游)
  • 删除错误的Hops,重新拖拽连接
  • 特别注意过滤记录组件的True输出端必须连接到盈利订单的Excel输出组件,False输出端必须连接到亏损订单的Excel输出组件

       4.3 问题3:Excel输出文件找不到

问题现象:转换执行成功,执行日志显示一切正常,但在平台的输出目录中找不到生成的Excel文件。

问题原因输出路径配置不正确,或者平台对输出路径有特定要求。

解决方法:如果平台有默认的输出目录,尝试只填写文件名,不填写路径。执行完成后,在平台的“文件库”中右键根目录选择“刷新”,即可看到生成的盈利订单和亏损订单文件,可以右键下载到本地查看具体内容。

  • 五、实验总结

5.1 实验收获

通过本次实验,我们可以掌握以下技能和知识:

  1. 零代码ETL流程设计:理解如何在助睿数智平台上通过拖拽组件的方式构建完整的数据处理流程,无需编写复杂的SQL或Python代码,对可视化ETL工具有了更直观的体验。
  2. 核心概念理解:深入理解了转换(Pipeline)与作业(Workflow)的区别,以及Transform、Action、Hops等核心概念在实际操作中的体现。
  3. 多表关联操作:掌握了“记录集连接”组件的使用方法,理解了LEFT OUTER JOIN的语义及在业务场景中的应用——保留主表全部记录的同时关联辅表信息。
  4. 数据分流处理:学会使用“过滤记录”组件根据条件将数据分流到不同的输出路径,这在实际业务中非常常见(如区分正常订单与异常订单、盈利客户与亏损客户等)。
  5. 数据清洗意识:通过“字段选择”组件移除重复字段的操作,让我们意识到数据清洗在ETL流程中的重要性,避免后续分析出现歧义和错误。
  6. 问题排查能力:在解决实际遇到的问题过程中(如字段重复、连接方向错误等),我们可以学会查看执行日志、检查组件配置、验证数据流向等排查方法,这对后续独立完成更复杂的实验非常有帮助。

 

 

 

Logo

一站式 AI 云服务平台

更多推荐