打印

ETLCloud如何轻松应对CDC实时数据流和维度数据合并的需求

[复制链接]
709|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 ETLCloud 于 2023-9-4 18:09 编辑

通常情况下我们使用CDC实时监听表销售或订单表数据的LOG时会形成流式的数据,即订单变化时数据是按照变化时间不断的传入到ETL的流程中的,业务**实时看到订单数据的报表。
CDC每次传入的数据有可能是一条也可能是多条,监听到的流式数据都是订单表的单条数据,但在业务上单表的数据在业务价值上可能缺少一些关键的维度业务数据字段,例如要计算毛利合并客户及产品数据等。
为了补充这些缺少的数据字段之前的做法是先让他入库,然后再用SQL语句或者ETL流程再给他变换一次形成我们需要的宽表数据,虽然这样也可以实现这个业务需求,但是失去了数据处理的时效性,即本来是实时流的数据,但是到了业务那里变成不是实时的了,因为我们中间有一个定时变换的数据过程。
而现在批流一体化架构的数据集成平台都是采用实时批流合并的方式来实现,下面就介绍ETLCloud如何实现实时的批流合并:
我们可以直接用SQL节点或者脚本节点去把实时流数据进行补全后运行
SQL节点中逐行去补全数据
例如下面表中的客户数据只有客户的相应信息,如果CDC监听到有客户数据发生变化时**能实时合并这个客户的订单的相关数据到这条记录中就可以通过上方式进行实现
上述表中只有客户数据,没有订单数据
订单数据在另外一张表中,但是CDC监听到的是客户变化数据
通过客户表中的id和订单表中的customer_id进行关联合并订单表中的数据到客户表中
在实时流节点后面的sql中写上sql语句即可合并数据到实时监听到的数据流中
SQL数据处理节点配置
流程做起来相对简单好理解,如果觉得图形描述这个SQL太复杂就直接贴SQL上来,但是有可能那个SQL语句要合并很多维度数据可能会有几百行,这样后期换其他人来运维就麻烦一点,sql太复杂后面可能不太好理解业务,我们目前发现大部企业是采用这种模式的,因为没有好的图形化ETL所以就被迫做了这样。


ETLCloud介绍
ETLCloud是一款零代码ETL工具,可以快速对接上百种数据源和应用系统,无需编码即可快速完成数据同步和传输,企业IT人员只需简单几步即可快速完成各种数据抽取同步并配合BI工具实现数据的统计分析。
ETLCloud可视化流程同步界面)
ETLCloud社区版本永久免费下载使用https://www.etlcloud.cn

使用特权

评论回复

相关帖子

沙发
cooldog123pp| | 2023-9-30 10:37 | 只看该作者
感谢楼主的分享,讲的很详细,mark一下,**在以后的工作中能用到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

140

主题

140

帖子

0

粉丝