IT之家 8 月 7 日消息,OpenAI 官方 X 账号今天(8 月 7 日)发布推文,表示将于太平洋时间周四上午 10 点(北京时间周五凌晨 1...
2025-08-07 0
导读 本次分享题目为 Apache Flink 2.0:助力数据湖 & AI 实时化。
主要介绍:
1. Flink 2.0 概述
2. 存算分离状态管理
3. Streaming Lakehouse
4. AI 实时化探索
5. 问答环节
分享嘉宾|宋辛童 阿里云 Flink Java 引擎负责人
编辑整理|张静瑜
内容校对|李瑶
出品社区|DataFun
01
Flink 2.0 概述
1. Apache Flink 发展历程
Flink 的发展历程可以分为三个阶段:
(1)起源阶段(2009-2016 年):
(2)发展阶段(2016-2019 年):
(3)全球化与创新阶段(2019 年至今):
2. Flink 1.0 的核心能力与挑战
(1)Flink 1.0 解决了什么问题
Flink 1.0 在流计算领域解决了许多关键问题,其中最为核心的是有效解决了有状态流计算的问题。在此之前,尽管存在如 Storm 等流计算系统,但这些系统往往难以实现精确的实时计算,通常需要依赖后续的离线处理来校正计算结果。这主要是因为早期的流计算系统未能妥善解决有状态流计算的问题。
(2)实时计算面临的挑战
尽管 Flink 1.0 已经具备了强大的功能,并且在性能层面能够支持秒级甚至亚秒级的时效性,规模上也足以应对数千并发乃至上万并发的生产环境,但在实际应用中仍面临一些关键挑战:
这些问题限制了实时数据处理技术在更广泛场景和行业的推广使用,尤其是对于那些时效性要求较低的应用场景,用户可能会选择更加经济的离线计算方案。
3. Flink 2.0 致力于解决什么问题
Flink 2.0 的核心目标是使实时计算更加普适和普惠,旨在将 Flink 1.0 中已成熟的功能扩展到更多行业场景。为此,Flink 2.0 主要聚焦于两个方面的工作:
02
存算分离状态管理
1. 分布式有状态流处理
有状态的计算是指对于给定输入数据和系统的当前状态,通过计算产生输出数据并更新系统状态的过程。在 Flink 中,这意味着算子会持续接收输入数据,并基于数据中的键值查找对应的状态数据,结合输入数据和当前状态完成运算,然后将结果发送到下游,并更新状态存储。
在分布式环境下,Flink 将数据根据其键值分发至不同的 Task Manager (TM) 节点上处理,确保每个节点仅处理一部分键值对应的数据及其状态信息,从而实现高效实时处理。这种方式确保了在执行计算时可以高效地访问本地存储的状态数据,从而保证了更好的实时性和性能表现。
为了满足容错需求,Flink 会定期对本地状态数据创建快照,并将其持久化存储到远程存储系统中,如 OSS 、HDFS 或 S3 等。由于算子与其对应的状态数据位于相同的 TM 节点上,这种架构被称为存算一体的状态管理架构。
2. 云原生场景下的挑战
在当前的存算一体架构下,特别是在云原生环境中,面临如下一些需求和挑战:
3. 存算分离的状态管理——ForSt
Flink 2.0 引入了一种全新的存算分离状态后端,名为 ForSt(“For Streaming”的缩写)。与传统的存算一体架构相比,ForSt 不仅涵盖了本地存储,还将远程存储纳入其中,实现了计算与存储的解耦。
核心区别
在存算一体架构中,本地状态被视为 Ground Truth ,而远程存储仅用于快照的持久化。而在 ForSt 架构下,远程存储成为 Ground Truth ,这意味着状态更新将更积极地写入远程存储系统,而本地存储则主要用于缓存加速。
主要优势
4. 性能
在采用存算分离架构时,一个常见的担忧是性能是否会因从本地磁盘改为远程存储而下降。实际上,如果不做任何优化直接将状态存储从本地迁移到远程,确实会导致性能显著下降。然而,Flink 2.0 通过一系列优化措施解决了这一挑战,并实现了性能的显著提升。
性能优化措施
性能结果
基于 Nextmark 测试集的结果显示,在 Flink 2.0 中,存算分离模式下的吞吐量达到了存算一体模式的 75% 到 120%,具体数值取决于不同的查询(query)。值得注意的是,某些查询下存算分离模式的性能甚至优于存算一体模式。这些测试使用了 1GB 的本地磁盘空间作为缓存,而查询的状态大小范围为 1.2GB 至 4.8GB,表明缓存无法存放全部状态数据,但在这种情况下仍实现了较好的性能表现。
此外,如果增加本地磁盘的空间用于缓存,预计性能将进一步提高。当前版本只是存算分离状态管理的第一个版本,未来版本将继续针对性能瓶颈进行优化,持续改进用户体验和系统性能。
03
Streaming Lakehouse
1. Lambda 架构
在处理既有实时又有离线数据需求的场景中,传统上采用 Lambda 架构。该架构需要构建两条独立的数据处理链路:一条用于实时处理(如 Flink 结合 Kafka ),另一条用于离线处理(如 Spark 结合 Iceberg 或 Hive )。然而,这种架构存在一些问题:
2. Streaming Lakehouse 架构
为解决上述问题,Flink 推出了 Streaming Lakehouse 架构,旨在合并实时和离线数据处理链路。这一架构主要依赖于 Flink 的流批一体计算能力和 Paimon 的存储能力(支持流读写及批读写),实现了一体化的数据处理方案。主要优势包括:
开发效率方面的改进与挑战
尽管 Streaming Lakehouse 架构在许多方面提供了改进,但在开发效率上仍有提升空间。目前,通过统一使用 Flink SQL 进行开发,避免了针对不同引擎编写代码的需求,这是一个进步。然而,该架构尚未完全达到理想的“流批一体”状态——即使用一份代码、一套引擎、一份数据就能同时支持实时和离线处理。
3. 什么是真正的流批一体
真正的流批一体意味着通过一份代码、一套引擎以及一份数据,即可同时满足实时和离线的数据处理需求。
在当前的实践中,已经实现了部分流批一体的目标:
然而,在实现完全的流批一体方面仍存在一些挑战,尤其是在代码层面:
4. Materialized Table
为了解决流批一体中存在的编程模型差异问题,Flink SQL 引入了物化表(Materialized Table)的概念。通过定义数据新鲜度,自动选择合适的执行模式(流或批),使得用户无需关心底层执行细节,仅需关注业务层面的数据更新时效性要求。
(1)如何使用物化表
这部分逻辑更接近于传统的批处理方式,但增加了数据新鲜度的概念。
(2)物化表的运维便利性
物化表不仅简化了开发过程,还在运维方面提供了极大的便利性:
5. Flink X Paimon 深度集成
除物化表外,Flink 2.0 在 Flink 与 Paimon 集成方面还做了大量工作,包括场景拓展(如针对宽表拼接、维表查询等常见场景的功能和性能定制优化)以及引擎能力提升(优化 Flink 读写 Paimon 表的性能,改进使用 Flink 进行 Paimon 表管理操作的易用性)等。
04
AI 实时化探索
1. AI 技术趋势
近年来,AI 技术的发展可以大致分为四个层次的应用:
随着技术的发展,越接近实际应用层面,对于实时性的需求就越强烈。正如一句流行的话所说:“AI is only as good as the data it operates on.”,数据质量决定了 AI 能力的上限。
2. Retrieval-Augmented Generation (RAG)
在这一背景下,Flink 在实时数据处理中的作用显得尤为重要。一个典型的使用 Flink 实现 RAG 架构的例子包括两条链路:
3. Flink 需要的关键能力
为了支持上述架构,Flink 需要以下关键能力:
目前,Flink 社区的工作主要集中在模型调用部分,而向量数据库对接及半/非结构化数据类型的处理正在规划之中。
4. Flink CDC 和 Flink SQL 对模型调用的支持
05
问答环节
Q1:物化视图在 Flink 2.0 中是否仅支持 Paimon,未来是否会支持其他数据存储表?
A1:Flink 中的物化表与物化视图稍有差异,核心在于将底层生成表的数据逻辑或方式对用户屏蔽。目前 Flink 的物化表仅支持 Paimon 。但从技术架构设计上,未来可以支持更多数据存储系统。要支持物化表,需具备两方面能力:
Q2:离线 SQL 改造成实时化时,如全表聚合等复杂操作,物化表能否解决底层状态问题?
A2:
Q3:Flink 处理速度在什么量级,与其他流批引擎(如 Storm、Spark)相比有何优缺点?
A3:
Q4:Flink 的 row by row 处理模式与基于文件存储的数据湖匹配度低,是否适合数据湖,未来 Flink 是否会向增量计算方向发展?
A4:确实,Flink 的 row by row 处理模式与数据湖基于文件存储的特性存在不匹配。如果底层存储是数据湖,使用 Flink 这种实时处理模式,会付出计算成本,但数据更新频率低,没有获得相应收益。
以上就是本次分享的内容,谢谢大家。
相关文章
IT之家 8 月 7 日消息,OpenAI 官方 X 账号今天(8 月 7 日)发布推文,表示将于太平洋时间周四上午 10 点(北京时间周五凌晨 1...
2025-08-07 0
金融界2025年8月6日消息,国家知识产权局信息显示,攀钢集团研究院有限公司申请一项名为“高强度热镀锌钢板性能分级的控制方法”的专利,公开号CN120...
2025-08-07 0
导读 本次分享题目为 Apache Flink 2.0:助力数据湖 & AI 实时化。主要介绍:1. Flink 2.0 概述2. 存算分离状...
2025-08-07 0
现代技术远非万无一失 —— 例如,我们可以看到无数漏洞不断涌现。尽管设计安全的系统是一种久经考验的最佳实践,但这样做可能会将资源从其他领域转移出去,比...
2025-08-07 0
据雅虎新闻网8月4日报道,近日,CCJ Inc. 集团旗下的CTY Corporation(CTY)与Cable Net Suzuka Corpora...
2025-08-07 0
最近,网友都被一件事逼疯了。那就是每天该点什么外卖。一到中午就要货比三家,又多了“甜蜜的烦恼”。每天一打开就是3.9的瑞幸,6.9的茉莉奶白。有人甚至...
2025-08-07 0
今年初,华硕推出了新款Radeon RX 9070系列显卡,包括了TUF GAMING和PRIME系列产品,提供Radeon RX 9070和Rade...
2025-08-07 0
【来源:中国银行保险报】在金融行业智能化升级浪潮中,国家金融信创政策持续深化与降本增效压力迫切,驱动金融机构对AI技术的可靠性与落地效率提出更高要求。...
2025-08-07 0
发表评论