《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(2)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(2)

《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(1) https://developer.aliyun.com/article/1228308



应用场景

美团实时数仓业务主要包含两类实时生产链路:

image.png


第一类应用场景是基于 FlinkSQL + OLAP 的实时生产链路。这个业务链路的实时数据源有两个,分别是业务 DB 的变更事件和业务服务的日志事件,这些事件首先会被收集到 Kafka 中,然后 DB 事件会按表名分发到新的 Kafka 中,DB 和日志的数据也会在这一层进行格式上的统一并完成实时数仓的 ODS 层。然后业务会使用 FlinkSQL 来清洗和关联 ODS 层的数据,生成实时数仓的主题宽表,最后写入 OLAP 查询引擎做实时分析。对于时效性要求不高的场景,部分业务还会在 OLAP 引擎上配置分钟级别的调度来减少相同查询的压力;


image.png


第二类应用场景的不同点在于,业务实时数仓的主题宽表数据并不是直接写入 OLAP 查询引擎,而是继续写入 Kafka,使用 FlinkSQL 做 APP 层的指标聚合,最终把预计算的指标数据写入 OLAP、DB 或 KV 这类应用层的存储。这种方式更适合对接数据服务,因为它兼顾了数据的时效性和高 QPS 的查询。


生产实践

在实际推广 FlinkSQL 的过程中,美团也面临了不少挑战。  


第1个问题是双流关联的大状态问题,FlinkSQL 的双流关联会保留左右流的历史数据来互相关联,需要关联的时间间隔越长,保存的历史数据就会越多,状态也就会越大。比如,要关联订单的下单事件和退款事件,并保证计算结果的正确性,需要考虑这两个事件发生的间隔,可能是一个月甚至更久。  

image.png


上图左侧是一个双流关联的有状态 SQL 作业,图中的 Mem 和 Disk 组成了 SQL 作业的 TaskManager 节点,SQL 作业状态后端使用 RocksDB,状态持久化在 HDFS 文件系统上。一开始我们尝试把 SQL 作业的状态设置为保留一个月,但 SQL 作业会变得不稳定,出现内存超限、状态读取性能下降等问题,只能不断增加作业的 TM 数和内存大小来缓解。  


即使这样,业务上仍然存在两个痛点。首先是关联数据初始化难,目前公司 Kafka 数据源对历史回溯有限制,因此业务不能构建出完整的历史状态,即使 Kafka 支持了更久的回溯,状态初始化的效率也依然是一个问题。其次,内存资源开销大,特别是当多个 SQL 作业关联相同的数据源时,需要为每个 SQL 作业都分配相应的内存资源,不同 SQL 作业间的状态是隔离的,作业间相同的关联数据不能复用。  



《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(3) https://developer.aliyun.com/article/1228304

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
4月前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
21天前
|
机器学习/深度学习 数据采集 DataWorks
数据分析经典案例重现:使用DataWorks Notebook 实现Kaggle竞赛之房价预测,成为数据分析大神!
Python是目前当之无愧的数据分析第一语言,大量的数据科学家使用Python来完成各种各样的数据科学任务。本文以Kaggle竞赛中的房价预测为例,结合DataWorks Notebook,完成数据加载、数据探索、数据可视化、数据清洗、特征分析、特征处理、机器学习、回归预测等步骤,主要Python工具是Pandas和SKLearn。本文中仅仅使用了线性回归这一最基本的机器学习模型,读者可以自行尝试其他更加复杂模型,比如随机森林、支持向量机、XGBoost等。
|
2月前
|
运维 数据挖掘 网络安全
场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析
基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。
|
2月前
|
SQL 存储 数据挖掘
快速入门:利用AnalyticDB构建实时数据分析平台
【10月更文挑战第22天】在大数据时代,实时数据分析成为了企业和开发者们关注的焦点。传统的数据仓库和分析工具往往无法满足实时性要求,而AnalyticDB(ADB)作为阿里巴巴推出的一款实时数据仓库服务,凭借其强大的实时处理能力和易用性,成为了众多企业的首选。作为一名数据分析师,我将在本文中分享如何快速入门AnalyticDB,帮助初学者在短时间内掌握使用AnalyticDB进行简单数据分析的能力。
64 2
|
3月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
5月前
|
存储 消息中间件 运维
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
招联内部已有 40+ 个项目使用 Apache Doris ,拥有超百台集群节点,个别集群峰值 QPS 可达 10w+ 。通过应用 Doris ,招联金融在多场景中均有显著的收益,比如标签关联计算效率相较之前有 6 倍的提升,同等规模数据存储成本节省超 2/3,真正实现了降本提效。
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
|
5月前
|
Kubernetes 并行计算 数据挖掘
构建高可用的数据分析平台:Dask 集群管理与部署
【8月更文第29天】随着数据量的不断增长,传统的单机数据分析方法已无法满足大规模数据处理的需求。Dask 是一个灵活的并行计算库,它能够帮助开发者轻松地在多核 CPU 或分布式集群上运行 Python 代码。本文将详细介绍如何搭建和管理 Dask 集群,以确保数据分析流程的稳定性和可靠性。
409 3
|
5月前
|
JSON 数据挖掘 API
案例 | 用pdpipe搭建pandas数据分析流水线
案例 | 用pdpipe搭建pandas数据分析流水线
56 2
|
5月前
|
自然语言处理 数据挖掘 BI
ChatGPT 等相关大模型问题之将现有的数据分析平台与大模型结合如何解决
ChatGPT 等相关大模型问题之将现有的数据分析平台与大模型结合如何解决
|
5月前
|
Java Spring 安全
Spring 框架邂逅 OAuth2:解锁现代应用安全认证的秘密武器,你准备好迎接变革了吗?
【8月更文挑战第31天】现代化应用的安全性至关重要,OAuth2 作为实现认证和授权的标准协议之一,被广泛采用。Spring 框架通过 Spring Security 提供了强大的 OAuth2 支持,简化了集成过程。本文将通过问答形式详细介绍如何在 Spring 应用中集成 OAuth2,包括 OAuth2 的基本概念、集成步骤及资源服务器保护方法。首先,需要在项目中添加 `spring-security-oauth2-client` 和 `spring-security-oauth2-resource-server` 依赖。
64 0

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多