本文通过案例为您介绍如何使用ETL实现实时订单分析。
应用场景
为满足企业处理实时数据的需求,ETL提供了流式数据抽取、加工和加载功能,能够高效整合海量实时数据,支持拖拽式操作和低代码开发方式,帮助企业轻松完成商业决策分析、报表提速、实时数据计算等。企业在数字化转型过程中,涉及实时数据处理的应用场景如下:- 多区域或异构数据实时集中:将多地域或者异构数据实时存储至同一数据库中,便于企业中心化高效管理及决策支持。
- 报表提速:帮助客户构建实时报表体系,不仅大幅提升报表产出效率,还能支持更多实时分析场景,满足了企业数字化转型阶段对报表产出效率的高要求。
- 实时计算场景:对业务侧产生的流数据实时清洗处理,形成特征值、标签支持在线业务计算模型(画像、风控、推荐等)或实时大屏等流计算场景。
案例背景
本案例将为您演示如何使用流式ETL功能,将实时交易数据(订单号、客户ID、产品/商品编码、交易金额、交易时间)与业务维度数据(产品编码、产品单价、产品名称等)相结合,并将满足过滤条件的数据(如统计单笔超3000的实时交易信息)实时集中至数据仓库,实现交易数据的多维分析(如产品维度、客户维度等)。您还可根据业务需要,借助工具实现可视化大屏,洞察动态数据。

任务配置流程

步骤 | 说明 |
---|---|
准备工作 | 将实时交易数据、业务维度数据存储在源表中,并根据业务需求创建目标表。
说明 本案例中实时交易、业务维度表、目标表均存储在RDS MySQL中。
|
步骤一:配置源库信息 | 将实时交易数据配置为流表,业务维度数据配置为维表。 |
步骤二:配置表JOIN | 将维表和流表数据关联成一张宽表。 |
步骤三:配置表记录过滤 | 配置过滤条件(单笔金额需超过3000),筛选宽表中的数据。 |
步骤四:配置目标库信息 | 将加工后的数据实时加载至目标表中。 |
步骤五:预检查并启动任务 | 预检查并启动ETL任务,执行以上配置。 |
准备工作
在配置ETL任务前,您需将实时交易数据和业务维度数据分别作为流表和维表存储在源RDS MySQL数据库中。
并根据业务需求,在目标RDS MySQL数据库中建表。
说明 本案例中实时交易数据表,业务维度数据表,目标表的具体建表语句如下。
create table test_orders( order_id bigint not null COMMENT '订单ID', user_id bigint not null comment '用户ID', product_id bigint not null comment '产品ID', total_price decimal(15,2) not null COMMENT '订单总额', order_date TIMESTAMP not null COMMENT '订单日期', PRIMARY KEY (order_id))
CREATE table product ( product_id bigint not null comment '产品ID', product_name varchar(20) comment '产品名称', product_price decimal(15,2) not null comment '产品单价')
create table test_orders( order_id bigint not null COMMENT '订单ID', user_id bigint not null comment '用户ID', product_id bigint not null comment '产品ID', total_price decimal(15,2) not null COMMENT '订单总额', order_date TIMESTAMP not null COMMENT '订单日期', product_id_2 bigint not null comment '产品ID', product_name varchar(20) comment '产品名称', product_price decimal(15,2) not null comment '产品单价', PRIMARY KEY (order_id))
步骤一:配置源库信息
步骤二:配置表JOIN
- 在页面左侧,将表 Join节点拖拽至页面右侧画布的空白区域。
- 将鼠标指针移动至已完成配置的流表和维表上,单击圆点拉出连接线,分别将流表和维表与表 Join-1连接起来。
- 单击画布区域的表 Join-1,根据页面信息配置转换组件。
- 完成Join条件配置后,单击输出字段页签。根据实际需要,在列名称列勾选需要的字段。
说明 完成配置的转换组件右侧不显示
时,说明配置完成。

步骤三:配置表记录过滤
- 在页面左侧,将表记录过滤节点拖拽至页面右侧画布的空白区域。
- 将鼠标指针移动至已完成配置的表 Join-1上,单击圆点拉出连接线,连接表 Join-1和表记录过滤-1。
- 单击画布区域的表记录过滤-1,根据页面信息配置转换组件。
说明 完成配置的转换组件右侧不显示
时,说明配置完成。

步骤四:配置目标库信息
- 在页面左侧,将输出 MySQL节点拖拽至页面右侧画布的空白区域。
- 将鼠标指针移动至已完成配置的表记录过滤-1上,单击圆点拉出连接线,连接表记录过滤-1和输出 MySQL-1。
- 单击画布区域的输出 MySQL-1页面,根据页面信息配置目标库信息。
- 根据业务需要,在列名称列勾选需要的参数。
说明 完成配置的目标库右侧不显示
时,说明配置完成。

步骤五:预检查并启动任务
任务运行结果
本案例中,ETL任务的启动后(以8月1日为例),如实时交易数据表test_orders中更新的数据满足过滤条件(total_priceid>3000.00,即总交易额大于3000.00),则该数据会同步至目标表test_orders_new中。

