零代码搞定订单利润正负分流标签:#助睿数智#商业数据分析#数据集成#ETL
这次实验把从登录平台到最终输出文件的完整流程都跑了一遍。收获挺实在的:学会了表输入、连接、字段选择、过滤、Excel输出这些组件的配置;踩了三个坑:重复数据、文件路径、字段类型,下次就记住了;感觉零代码平台确实方便,不用写SQL(除了表输入那里简单写一下),逻辑也直观。对助睿平台的评价:上手不难,组件比较全,日志提示也算清楚。就是画布连线有时候有点别扭,预览功能藏得深了点。但整体上满足实验需求,以
一、实验背景
1.1 实验目的
本次实验的实验目的,把订单表和产品表关联起来,然后按利润正负分开,输出两个Excel文件。通过这个练习,能够掌握:
怎么在平台上新建转换、拖组件、执行;
几个常用组件的配置方法:表输入、记录集连接、字段选择、过滤记录、Excel输出;
顺便理解一下多表关联和数据分流的ETL思路。
做完之后,应该能独立处理类似的数据加工任务。
1.2 实验环境
平台:助睿数智(Uniplore),一站式数据科学实验平台。官网 https://www.uniplore.com/ ,实验地址 https://lab.guilian.cn/ 。
数据库:MySQL,里面有两张表——订单表business_anaylsis.order_detail和产品表business_anaylsis.product。
1.3 业务场景
企业分析经营情况时,经常要把订单和产品信息关联起来算利润,然后区分赚钱和亏钱的订单分别存档。本实验就是模拟这个场景,用零代码拖拽方式搞定。
1.4 数据加工流程
整体逻辑:订单明细表 → 左外连接产品信息表 → 移除重复ID字段 → 按利润≥0分流 → 盈利订单/亏损订单分别输出

二、实验步骤
2.1 登录实验平台
打开浏览器,进入 https://lab.guilian.cn/ ,输入账号密码登录。界面还算简洁,左边是导航菜单。

2.2 基本概念了解
平台里几个核心概念:项目(一个工作空间)、数据源(连数据库)、转换(ETL流程)、组件(拖拽的积木块)。

2.3 创建实验项目
①点“新建项目”,名字叫“实验一”,其他默认。


②创建完成后先点击更多,再点击打开下项目即可进入项目界面。


2.4 做之前先了解项目页面各菜单大致作用
在项目页面,可以看到左侧有3个菜单:资源库、文件、元数据

资源库用于对工作流的管理,包括新建、删除、修改、查看工作流的信息;导出导入工作空间;调度管理等操作
文件库用于保存工作流中需要用到的文件和工作流产生的文件
元数据管理是数据集成的重要基石,可以为工作流定义“运行配置”、“数据库”、“flink集群”等配置
2.5 同步数据源
①首先获取本次的实验数据集:点击“元数据”,右键根“关系数据库”,点击“同步数据源”

②然后先切换“文件库”菜单再切换回到元数据,就可以看到成功同步的数据库“线上公共数据源(Readonly)”

2.6 新建转换流
本次实验将创建“订单利润分流处理”转换流,实现订单数据与产品信息的关联,并根据利润正负将数据分流为盈利订单和亏损订单,分别输出到两个Excel文件。
因此需要了解下各组件作用:

具体操作:
①切换到资源库,右键根目录,点击“新建转换流”,并设置合适的名字

②解锁转换流设计页面

解锁之后就可以添加组件了
2.7 添加组件
2.7.1添加表输入组件
由于本次实验需要将两类数据进行合并计算,所以需要添加2个表输入组件,读取2个不同表的数据。
①先点击组件库,然后在搜索输入框中输入“表输入”,并将表输入组件拖拽至画布中

②拖拽两个表输入组件,右键点击编辑组件并分别改名为“订单_详细订单”和“订单_产品信息”



这样表输入组件就添加完成了,后面添加组件的方式是一样的
2.7.2 添加记录集连接组件
从输入组件读取的数据,需要通过记录集连接组件将表输入组件的数据进行关联
①添加组件

②连接两个表输入组件与录集连接组件

2.7.3 添加字段选择组件
两个表数据进行连接后,会出现重复的字段“产品ID”。我们可以通过“字段选择”组件移除这个多余字段
①创建段选择组件并将名字修改为“移除产品ID_1字段”

②连接记录集连接组件与字段选择组件

2.7.4 添加过滤记录组件
使用“过滤记录”组件可以根据记录中某个字段的值进行记录分流
①添加过滤记录组件并创建字段选择组件到过滤记录组件的连接线

②选择主输出步骤使得满足要求的记录可以通过该连接线传输数据

2.7.5 添加 excel 输出组件
经过“过滤记录”组件后会被分成2个记录流, 在本次实验中,我们选择将记录输出到 Excel 文件中
①添加 两个excel 输出组件,用来收集盈利订单和亏损订单的记录流

②2个excel 输出组件分别命名为“盈利订单”和“亏损订单”,并创建过滤记录组件到两个excel 输出组件的连接线,
“True输出”连接盈利订单

“False输出”连接亏损订单

2.8 配置组件信息
组件添加完成后需要对其进行相应配置
2.8.1 表输入组件配置
订单_详细订单表输入组件:
①双击订单_详细订单表输入组件,选择已同步的“线上公共数据源(Readonly)”:

②点击“获取SQL查询语句”,自动生成SQL查询语句。

③选择上公共数据源(Readonly)”-“表”目录里面的“business_anaylsis.order_detail”,点击“确定”

⑤看到有SQL语句,点击确认即可

订单_产品信息表:
订单_产品信息表输入也参考上述配置,但获取的是“business_anaylsis.product” 的 SQL查询语句

2.8.2 记录集连接组件配置
①左外连接两个输入表,并获取连接字段



②删除第一个Transform字段中除了 produc_id 外的其他字段

(可以用ctr 加鼠标左键进行选中)
③删除第二个Transform字段中除了id 外的其他字段

④点击确认配置完成
2.8.3 字段选择组件配置
①双击字段选择进入配置页面,点击移除并获取字段

②删除“id”字段以外的字段


2.8.4 过滤记录组件配置
将盈利订单和亏损订单分开存储
①对应记录流

②选择字段利润(profit)来作为判断字段

③设置过滤条件为>=0

④设置数据类型为整型


2.8.5 Excel 输出组件配置
盈利订单输出组件:
①设置输出文件名字及格式

②右键点击“获取字段”

③点击确认,配置完成

亏损订单输出组件:进行同样的设置,此处省略
2.9 执行转换
①组件配置完成后,可执行转换任务,点击启动按钮

②启动后可查看初始数据度量以及日志


三、实验结果
在文件库可以查看两个表的输出结果

下载两个输出表:
盈利订单里所有“利润”字段都 ≥0,共7977条。

亏损订单里所有“利润”字段都 <0,共2023条。

总记录数10000条,跟原始订单表对得上
四、问题与解决
问题1:连接后数据行数暴涨
现象:左外连接后,数据行数变成好几倍。
原因:产品表中product_id不是唯一的,导致一对多匹配。
解决:在连接前对产品表用“分组”组件按product_id去重,或者清理数据库。我选了后者,重新同步表结构后解决。
问题2:Excel文件没生成
现象:日志显示成功,但找不到文件。
原因:没有预先创建output文件夹,且路径写法不对。
解决:在项目根目录下手动新建output文件夹,并在Excel输出组件里把路径写成./output/盈利订单.xlsx。重新执行后正常。
问题3:过滤没生效,全部跑到盈利侧
现象:利润为负的订单也进了盈利文件。
原因:利润字段在数据库里是varchar类型,字符串比较>=0结果不对。
解决:在“字段选择”组件里把利润字段的数据类型改成Number,然后再过滤。搞定。
五、实验总结
这次实验把从登录平台到最终输出文件的完整流程都跑了一遍。收获挺实在的:
学会了表输入、连接、字段选择、过滤、Excel输出这些组件的配置;
踩了三个坑:重复数据、文件路径、字段类型,下次就记住了;
感觉零代码平台确实方便,不用写SQL(除了表输入那里简单写一下),逻辑也直观。
对助睿平台的评价:上手不难,组件比较全,日志提示也算清楚。就是画布连线有时候有点别扭,预览功能藏得深了点。但整体上满足实验需求,以后做更复杂的ETL任务应该还会用它。
更多推荐


所有评论(0)