实时数仓建设第2问:怎样使用flink sql快速无脑统计当天下单各流程(已发货,确认收货等等)状态的订单数量
实时统计当天下单各流程状态(已支付待卖家发货,卖家通知物流揽收,待买家收货等等)中的订单数量。
订单表的binlog数据发送到kafka,flink从kafka接受消息进行指标统计。因为每笔订单的状态会发生变化,比如上午为【已支付待卖家发货】,这个时候【已支付待卖家发货】指标数要+1,下午订单的状态变更为【卖家通知物流揽收】,这个时候【卖家通知物流揽收】指标数要+1,而【已支付待卖家发货】指标数要-1。
如果采用Java代码编程,那么需要深入理解业务考虑每种状态变更,编写大量if逻辑稍有遗留就会统计错误结果。但是如果使用flink sql是不是就不需要考虑这些业务问题了?
要想使得
select order_status,count(order_no) from order group by order_status
能够得到我们期望的结果,必须使得进入该SQL的数据流由append流变成update/retract流。否则就要根据binlog消息的update /delete情况编写这个减去的逻辑。
解决思路
- flink数据消费不走kafka,直接使用flink cdc去消费数据库的binlog日志。
- flink数据消费走kafka,那么kafka ddl使用canla-json format。
- 如果当前flink版本不支持canla-json format,那么就需要将soucre出来的append流转换为update/retract流后进入我们的聚合SQL算子中。
只要source端产生了changelog数据,后面的算子是可以自动处理update消息的,你可以认为:
- insert/ update_after 消息会累加到聚合指标上
- delete / update_before 消息会从聚合指标上进行retract
专栏初衷:
- 要想快速建设实时数仓,对齐离线数仓分层,首选Flink SQL,相比datastream 代码,Flink SQL可大幅提升10倍实时数仓建设落地时间。
- 作者位于大厂实时数仓团队,目前运行实时任务3000+,实时集群规模2万CU,集群checkpoint峰值5TB,单任务最大QPS峰值50W。
- 本专栏将分享作者在实时数仓建设过程中遇到的细节点,帮组大家快速建设实时数仓。
作者信息:
- 1.《深入理解Flink核心设计与实践原理》一书作者
- 2.GitHub 热门项目 fink-boot(800+) 开发者,致力于flink与spring生态集成
实时数仓建设第2问:怎样使用flink sql快速无脑统计当天下单各流程(已发货,确认收货等等)状态的订单数量相关推荐
- 美团买菜基于 Flink 的实时数仓建设
摘要:本文整理自美团买菜实时数仓技术负责人严书,在 Flink Forward Asia 2022 实时湖仓专场的分享.本篇内容主要分为四个部分: 背景介绍 技术愿景和架构设计 典型场景.挑战与应对 ...
- 滴滴基于 Flink 的实时数仓建设实践
简介:随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高,而伴随着实时技术的不断发展和成熟,滴滴也对实时建设做了大量的尝试和实践.本文主要以顺风车这个业务为引子,从引擎侧.平台侧和业务侧各个不同 ...
- 从 Storm 迁移到 Flink,美团外卖实时数仓建设实践
简介: 本文主要介绍一种通用的实时数仓构建的方法与实践.实时数仓以端到端低延迟.SQL 标准化.快速响应变化.数据统一为目标. 作者:朱良 本文主要介绍一种通用的实时数仓构建的方法与实践.实时数仓以端 ...
- 看完了这篇实时数仓建设,才发现以前的都白看了(内有美团案例)
看来大家还是对数据仓库和大数据平台比较感兴趣,今天就和大家再聊聊怎么做实时数仓吧.实时数仓可谓是决定性的东西,能决定什么?决定你的报表和BI到底能不能实时展现数据. 1.数据仓库的发展趋势 1.1 数 ...
- 20000字详解大厂实时数仓建设(好文收藏)
一.实时数仓建设背景 1. 实时需求日趋迫切 目前各大公司的产品需求和内部决策对于数据实时性的要求越来越迫切,需要实时数仓的能力来赋能.传统离线数仓的数据时效性是 T+1,调度频率以天为单位,无法支撑 ...
- 他山之石|大厂实时数仓建设全解析
点击上方蓝色字体,选择"设为星标" 回复"面试"获取更多惊喜 八股文教给我,你们专心刷题和面试 Hi,我是王知无,一个大数据领域的原创作者. 放心关注我,获取更 ...
- 腾讯云原生实时数仓建设实践
腾讯云原生实时数仓建设实践 实时数仓面临的挑战 实时数仓被广泛应用于腾讯各大业务,涉及的平台众多,从统计信息中可以看出,集群规模庞大,数据量极大. 复杂的使用场景和超大的数据量,导致我们在实时数仓的建 ...
- 20000字,详解大厂实时数仓建设(好文收藏)
来源:五分钟学大数据 一.实时数仓建设背景 1. 实时需求日趋迫切 目前各大公司的产品需求和内部决策对于数据实时性的要求越来越迫切,需要实时数仓的能力来赋能.传统离线数仓的数据时效性是 T+1,调度频 ...
- 小米基于 Flink 的实时数仓建设实践
摘要:本文整理自小米软件开发工程师周超,在 Flink Forward Asia 2022 平台建设专场的分享.本篇内容主要分为四个部分: 小米数仓架构演变 Flink+Iceberg 架构升级实践 ...
最新文章
- 深夜,你的手机为谁开?
- java杰森_java – 杰克逊杰森Mapper:没有场或空场?
- Java高并发系列 — AQS
- 数据:ContentResolver类
- C和C++混合编程(__cplusplus使用)
- LeetCode——LCP 06.拿硬币
- Java 设计模式六大原则
- 类文件结构和字节码指令
- bp神经网络模型的优缺点,bp神经网络缺点及克服
- 各大物联网通信技术对比
- 逻辑推理题-用C++实现(2)--黑与白
- 沧海一声笑(最好版)
- excel公式编写简化,Python生成公式
- JXTA学习!!JXTA P2P 2.4
- Consistency = Consensus?
- HC32460时钟配置
- 一个不错的网站,颜色推荐 http://www.colorhexa.com/
- Windows server 2008、2012、2016搭建sftp服务(超级简单)
- 项目管理(PMP)项目成本管理
- 【2.Delphi语法基础】2.Object Pascal数据类型
热门文章
- SP1026 FAVDICE - Favorite Dice[期望DP]
- C语言疫苗预约管理系统
- python数据分析之matplotlib库(下)
- 【OpenGL】绘制球体
- 【CS224W】(task7)标签传播与节点分类(semi-supervised)
- web/app unittest UI自动化测试框架
- Android调用照相机展示高清图片及展示图片时图片倾斜问题
- 菜鸟教程java_JAVA笔记(菜鸟教程)
- linux 高分屏 知乎,thinkpad 最推荐哪款为何笔记本电脑知乎
- 很好理解流形学习的文章-浅谈流形学习(Manifold Learning)