ETLCloud轻松应对CDC实时数据流和维度数据合并的需求,实时监控订单数据

如何实现实时流与批流合并打宽数据

通常情况下我们使用CDC实时监听表销售或订单表数据的LOG时会形成流式的数据,即订单变化时数据是按照变化时间不断的传入到ETL的流程中的,业务希望实时看到订单数据的报表。

CDC每次传入的数据有可能是一条也可能是多条,监听到的流式数据都是订单表的单条数据,但在业务上单表的数据在业务价值上可能缺少一些关键的维度业务数据字段,例如要计算毛利合并客户及产品数据等。

为了补充这些缺少的数据字段之前的做法是先让他入库,然后再用SQL语句或者ETL流程再给他变换一次形成我们需要的宽表数据,虽然这样也可以实现这个业务需求但是失去了数据处理的时效性,即本来是实时流的数据但是到了业务那里变成不是实时的了,因为我们中间有一个定时变换的数据过程。

而现在批流一体化架构的数据集成平台都是采用实时批流合并的方式来实现,下面就介绍ETLCloud如何实现实时的批流合并:

 

实时订单、销售数据报表

方案一

首先我们设计一个这样的流程来监听订单表数据

这里的关键点就是要拉入一个实时输入流节点,这个节点会接管住所有流入的实时流式数据,后面再用多流合并的节点即可把T00002的批数据拆分后的所有行数据进行合并,这样T00006节点拿到的数据已经是实时合并的宽表数据了,这样就避免了在ODS层中再做一次变换,同时也可以直接就传输给业务系统使用。

这样就解了业务部门想看到实时的订单报表数据的问题了,不需要数仓即可解决。

方案二

我们也可以直接用SQL节点或者脚本节点去把实时流数据进行补全或运算

 在SQL节点中逐行去补全数据

例如下面表中的客户数据只有客户的相应信息,如果CDC监听到有客户数据发生变化时希望能实时合并这个客户的订单的相关数据到这条记录中就可以通过上方式进行实现

上述表中只有客户数据,没有订单数据

订单数据在另外一张表中,但是CDC监听到的是客户变化数据

通过客户表中的id和订单表中的customer_id进行关联合并订单表中的数据到客户表中

在实时流节点后面的sql中写上sql语句即可合并数据到实时监听到的数据流中

 SQL数据处理节点配置

 

方案对比

方案一、把实时数据流用图形化的方式进行数据合并后期运维比较方便,如果能用图形描述出来的尽量用图形来做这个流程,这样后期运维方便,而且数据也好监控。

方案二、流程做起来相对简单好理解,如果觉得图形描述这个SQL太复杂就直接贴SQL上来,但是有可能那个SQL语句要合并很多维度数据可能会有几百行,这样后期换其他人来运维就麻烦一点,sql太复杂后面可能不太好理解业务,我们目前发现大部企业是采用这种模式的,因为没有好的图形化ETL所以就被迫做了这样。

方案三、把中间SQL节点用JAVA脚本替代,因为java代码比起sql来说可能对于会编程的人来说更好理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352085.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

遇到大数据处理,你会怎么办?快来看一下位图和布隆过滤器(下)

目录 前文 一,为什么有布隆过滤器 二,什么是布隆过滤器 三,布隆过滤器的实现 四,布隆过滤器的优缺点 4.1 布隆过滤器的优点 4.2 布隆过滤器的缺点及其改进方式 4.2.1 查找误判及其改进方式分析 4.2.2 不能删除以及改进方式分…

5月VR大数据:Quest 2下跌超1%,其它变化不大

Hello大家好,每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么?关注这里就对了。我们会统计Steam平台的用户及内容等数据,每月初准时为你推送,不要错过喔! 本数据报告包含:Steam VR硬…

如何打开谷歌地图

1、入口是map.cnmaps.cn是镜像过来的谷歌地图 2、把网站改成。www.google.cn//maps/ ①:map.cnmaps.cn ②:www.google.cn//maps/

BIGEMAP中打开高清卫星影像谷歌地图

说明:批量添加可以同时添加多个在线地图,一次性添加完成 下载安装地球软件: www.bigemap.com 选择立即下载 第一步 : 下载批量添加批处理文件:添加文件 第二步: 查看文件,打开一个txt文件&am…

arcgis加载谷歌地图和天地图

1加载谷歌地图 bug:科学上网和弹窗 1.1.下载插件arcgoogle 选择合适的版本下载链接 1.2.安装软件 双击setup.exe进行安装 1.3.加载工具 自定义>从文件添加……>arcgoole.tlb 1.4.加载地图 右键软件空白,勾选ArcGoogle-ungdungmoi.com&am…

谷歌地图网页版_如何在网站嵌入谷歌地图

为何要在外贸网站嵌入谷歌地图?而不用国内常用地图? 1、国外用户常用工具(老外常用地图软件) 2、嵌入地图为动态,可放大缩小,定位区域 3、用户查看更生动 4、嵌入谷歌地图代码可以根据浏览器语言,自动识别显示对应国家语言,用户体验度高 操作步骤 1、打开Google地图 具体…

集成谷歌地图不显示的问题

最近做了一个项目,要用到谷歌地图,这也是第一次用谷歌地图,当按照文档集成以后,地图就是不显示。最后鼓捣半天,终于出来了。希望能帮助入坑的小伙伴。由于谷歌地图是国外服务器,想必大家都会想办法登录谷歌…

目标检测算法:YOLO v1论文解读

目标检测算法:YOLO v1论文解读 前言 ​ 其实网上已经有很多很好的解读各种论文的文章了,但是我决定自己也写一写,当然,我的主要目的就是帮助自己梳理、深入理解论文,因为写文章,你必须把你所写的东西表达清…

html加入谷歌地图,html页面插入百度谷歌地图

一、百度地图 1、打开“百度地图生成器”的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 2、在“1.定位中心点”中,查找具体位置 3、在“2.设置地图”中,按照自己的需求修改地图的外观: a、地图的宽和高 b、地图上显…

怎么在html插入谷歌地图,html页面插入百度or谷歌地图

一、百度地图 1、打开“百度地图生成器”的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 2、在“1.定位中心点”中,查找具体位置 3、在“2.设置地图”中,按照自己的需求修改地图的外观: a、地图的宽和高 b、地图上显…

安卓谷歌地图 Google Maps不显示地图

问题 一个用到 Google Maps API 的安卓项目,在A电脑上build后,正常运行,显示地图,而且可以正常定位,将项目拷贝到B电脑上后,重新build,不能正常运行:不显示地图,地图界面…

百度二级网页打不开_网页打不开,原因在这里!

不知道小伙伴们,有没有遇到这样的问题,网络明明没问题,QQ等工具也可以正常登陆,就是有一部分网页打不开! 打不开一般就俩原因: 1.网站服务器出问题了,网页访问不了! 2.DNS问题&#…

基本农田卫星地图查询_谷歌地图打不开?试试这个替代网站,街景功能很好用!...

现在,谷歌地图在国内无法访问。大家如果想要查询国外的地理位置等信息,就必须要靠谷歌地图来解决。像百度、高德这些地图查询国内的信息还不错,但是要查国外的内容就没办法实现了。 全球地图/图:allinprior.com 谷歌地图有很多强大的功能,比如去国外旅游,首先得查询国外的…

谷歌地图开发使用记录 Google Maps

谷歌地图开发文档 申请谷歌地图密钥 可参考此链接https://blog.csdn.net/edsoki/article/details/123391685 https://www.wppop.com/get-google-api-key.html 引入 <script src"https://maps.googleapis.com/maps/api/js?key密钥&languageen"></script…

谷歌地图打不开怎么办?

谷歌地图打不开怎么办&#xff1f; 方法一&#xff1a;使用在线版google地图,点击下方链接进入 天天看地图 https://www.tiantianditu.com/3d.html 方法二&#xff0c;使用奥维地图&#xff0c;打开google图层 打开google图层需要3个步骤&#xff0c;1&#xff0c;下载奥…

实现UDP通信(socket接口函数扩展)

一、write/read到send/recv 函数原型&#xff1a; ussize_t send(int sockfd, const void *buf, size_t len, int flags);//发送 ussize_t recv(int sockfd, void *buf, size_t len, int flags);//接收 前三个参数同read/write一样&#xff1b; ussize_t read(int fd, voi…

预制菜进击万亿市场,谁能更快上桌“吃菜”?

文 | 螳螂观察 作者 | 图霖 消费行业很少有可持续的风口&#xff0c;这两年的预制菜算其中一个。 艾媒咨询发布的行业预测显示&#xff0c;2026年我国预制菜市场规模有望达到10720亿元。 过去这一年&#xff0c;武汉、大同等地已相继召开了预制菜相关的产业峰会。峰会规模有…

玩转ChatGPT:制作AI播报视频

一、写在前面 羊了几天&#xff0c;上线就发现&#xff0c;GPT的第三方插件的数量越来越多&#xff0c;使得官方推出了搜索功能&#xff1a; 我逛了一圈&#xff0c;发现这个插件挺有意思&#xff0c;用来生成AI语音播报视频的。 下面给大家尝尝鲜。 二、实战过程 &#xff0…

halcon入门之_提取遥控器字符并且写入txt文本

*老生常谈 read_image (Image, a) rgb1_to_gray (Image, GrayImage) dev_display (GrayImage) * 首先要把它转化为灰度图,在机器视觉中,大部分的图像处理算子都是建立在灰度图上的,所以gray(灰度图)是标志性存在的*转化为灰度图后,就要进入正式的图像处理了,先来一波阈值分割au…

ts泛型 不能将类型“string”分配给类型“U”。 “U”可以使用与“string”无关的任意类型进行实例化。

function cyc<T,U>(msg:T):U{let str:string"你输入了:";strmsg;return str; } var logcyc<string,string>("1"); console.log(log) var log1cyc<number,string>(2); console.log(log1) 报错如下 不能将类型“string”分配给类型“U”…