Apache Flink 2.0-preview released

简介: Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。

Apache Flink 社区正在积极准备 Flink 2.0,这是自 Flink 1.0 发布 8 年以来的首次大版本发布。作为一个重要的里程碑,Flink 2.0 将引入许多激动人心的功能和改进,以及一些不兼容的破坏性变更。为了促进用户和上下游项目(例如,连接器)尽早适配这些变更,提前尝试这些令人兴奋的新功能同时收集反馈,我们现在提供了 Flink 2.0 的预览版本。

注意: Flink 2.0 预览版不是稳定版本,请不要应用于生产环境。虽然这个预览版包含了 Flink 2.0 中绝大部分影响兼容性的变更,但 2.0 正式版仍可能引入额外的非兼容改动。

非兼容变更

API

以下 API 已被完全移除:

同时,DataStream API 以及 REST API 中部分废弃的方法和字段也已经被移除。

注意: 您可能会发现一些已移除的 API 仍然存在于代码库中,但被移动到了和原来不同的包路径下。它们现在仅供内部使用,并且可能随时发生更改或移除。请 不要再使用 它们.

连接器适配计划

由于 SourceFunction, SinkFunction 和 SinkV1 API 被移除,依赖这些 API 的现有连接器将无法在 Flink 2.x 版本工作,需要进行针对性适配。以下是具体的适配计划:

  1. Flink 2.0 预览版发布后会尽快发布与之适配的 Kafka 连接器新版本。

  2. JDBC 和 ElasticSearch 连接器将在 Flink 2.0 的正式版本中适配。

  3. 我们计划在接下来的 3 个版本(即截止到 Flink 2.3)中逐步适配剩余的连接器。

配置

符合以下标准的配置项已被移除:

  • 被标注为 @Public 并且已弃用至少2个版本。

  • 被标注为 @PublicEvolving 并且已弃用至少1个版本。

在 Flink 2.x 中,不再支持旧的配置文件 flink-conf.yaml, 请改用符合标准 YAML 格式的 config.yaml。我们提供了一个迁移工具,用于将旧的 flink-conf.yaml 转换为新的 config.yaml。详见 从 flink-conf.yaml 迁移到 config.yaml

在程序中使用硬编码的方式进行配置会带来诸多弊端,因此 StreamExecutionEnvironmentExecutionConfig 中与配置相关的 API 不再允许直接传入 Java 对象作为参数。你现在应该通过 ConfigurationConfigOption 来进行相应的配置。

为了避免暴露过多的内部接口,用户自定义函数(UDF) 不再对 ExecutionConfig 具有完整的访问权限。相应地,你现在可以直接从 RuntimeContext 中访问这些必要的函数,例如 createSerializer(), getGlobalJobParameters()isObjectReuseEnabled()

其它

  • 1.x 到 2.x 的升级不保证 状态兼容性

  • 不再支持 Java 8: Java 11 是目前支持的最低 Java 版本。

  • 旧的 Hybrid Shuffle 模式 已经被完全移除。

重要新特性

存算分离状态管理

过去十年间 Flink 的部署模式、工作负载和硬件的架构都发生了很大的改变。我们已经从计算-存储紧密耦合的 map-reduce 时代,进入到了以 Kubernetes 容器化部署为标准的云原生世界。为了 Flink 在云原生时代的未来,我们在 Flink 2.0 中引入了基于远程存储的存算分离状态管理。

存算分离架构的引入使得 Flink 向云原生领域更进一步。新架构主要解决了以下问题:

  1. 容器化环境下计算节点受本地磁盘大小限制的问题

  2. 由于RocksDB中LSM结构的周期性 Compaction 导致计算资源尖峰的问题

  3. 大规模状态快速扩缩容的挑战

  4. 原生的轻量级和快速检查点

受限于 Flink 中现有的阻塞式同步执行模型,仅仅将状态存储扩展到从远程 DFS 读写是不够的。在 Flink 2.0 中,我们提出了异步执行模型,并为此引入了 ForStDB,这是一种分离的状态后端解决方案。

在当前预览版本下,我们使用: NexmarkQ20 完成了一个端到端的示例。 其中包括:

  • 异步化执行:完整的状态异步访问的API,以及检查点支持

  • 异步化SQL Join算子:基于异步化状态 API实现

  • 同步/异步混合式执行:基于混合式SQL Plan,支持同步算子与异步算子在一个作业内共存

  • 性能:在直接写入存算分离后的远端存储的场景下,提供了不错的性能

物化表

在 Flink 1.20 中,我们以最简可行产品(Minimum Viable Product) 的形式引入了物化表功能。物化表是 Flink SQL 中的一种创新型表类型,旨在进一步简化流和批作业的数据处理流程,同时提供统一的开发体验。在即将发布的 Flink 2.0 中,我们正在增强物化表所支持的功能,包括与主流的湖格式进行集成以及生产就绪的调度器实现。

批作业的自适应执行

此外,Flink 正在不断提升其自适应批处理能力。即将发布的 Flink 2.0 将具备基于作业已完成的阶段所提供的信息,对逻辑计划和物理计划进行动态优化的能力。初步支持的策略包括动态应用 Broadcast Join 以及对数据倾斜的 Join 进行优化。

流式湖仓

以 Apache Flink 和 Apache Paimon 的集成为代表的流式湖仓架构将湖仓范式中统一的数据存储、开放格式和成本效益扩展到了实时领域。即将发布的 Flink 2.0 在 Flink 和 Paimon 的集成方面迈出了重要一步:Flink 和 Paimon 社区正在密切合作,充分结合彼此的优势以及核心功能,带来了诸多重要改进,包括但不限于:使用 Paimon 丰富的合并引擎进行 SQL 执行计划优化、大幅提升 Lookup-Join 的性能、支持 Flink 物化表、以及对自适应批处理和推测执行的支持。


更多内容


活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算 Flink 版现开启活动:
新用户复制点击下方链接或者扫描二维码即可0元免费试用 Flink + Paimon
实时计算 Flink 版(3000CU*小时,3 个月内)
了解活动详情:https://free.aliyun.com/?utm_content=g_1000395379&productCode=sc

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
5月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
998 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
529 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
7月前
|
SQL 人工智能 数据挖掘
Apache Flink:从实时数据分析到实时AI
Apache Flink 是实时数据处理领域的核心技术,历经十年发展,已从学术项目成长为实时计算的事实标准。它在现代数据架构中发挥着关键作用,支持实时数据分析、湖仓集成及实时 AI 应用。随着 Flink 2.0 的发布,其在流式湖仓、AI 驱动决策等方面展现出强大潜力,正推动企业迈向智能化、实时化的新阶段。
880 9
Apache Flink:从实时数据分析到实时AI
|
7月前
|
SQL 人工智能 API
Apache Flink 2.1.0: 面向实时 Data + AI 全面升级,开启智能流处理新纪元
Apache Flink 2.1.0 正式发布,标志着实时数据处理引擎向统一 Data + AI 平台迈进。新版本强化了实时 AI 能力,支持通过 Flink SQL 和 Table API 创建及调用 AI 模型,新增 Model DDL、ML_PREDICT 表值函数等功能,实现端到端的实时 AI 工作流。同时增强了 Flink SQL 的流处理能力,引入 Process Table Functions(PTFs)、Variant 数据类型,优化流式 Join 及状态管理,显著提升作业稳定性与资源利用率。
784 0
|
6月前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
2296 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
7月前
|
存储 人工智能 数据处理
对话王峰:Apache Flink 在 AI 时代的“剑锋”所向
Flink 2.0 架构升级实现存算分离,迈向彻底云原生化,支持更大规模状态管理、提升资源效率、增强容灾能力。通过流批一体与 AI 场景融合,推动实时计算向智能化演进。生态项目如 Paimon、Fluss 和 Flink CDC 构建湖流一体架构,实现分钟级时效性与低成本平衡。未来,Flink 将深化 AI Agents 框架,引领事件驱动的智能数据处理新方向。
779 6
|
7月前
|
消息中间件 存储 Kafka
Apache Flink错误处理实战手册:2年生产环境调试经验总结
本文由 Ververica 客户成功经理 Naci Simsek 撰写,基于其在多个行业 Flink 项目中的实战经验,总结了 Apache Flink 生产环境中常见的三大典型问题及其解决方案。内容涵盖 Kafka 连接器迁移导致的状态管理问题、任务槽负载不均问题以及 Kryo 序列化引发的性能陷阱,旨在帮助企业开发者避免常见误区,提升实时流处理系统的稳定性与性能。
654 0
Apache Flink错误处理实战手册:2年生产环境调试经验总结
|
SQL 存储 人工智能
Apache Flink 2.0.0: 实时数据处理的新纪元
Apache Flink 2.0.0 正式发布!这是自 Flink 1.0 发布九年以来的首次重大更新,凝聚了社区两年的努力。此版本引入分离式状态管理、物化表、流批统一等创新功能,优化云原生环境下的资源利用与性能表现,并强化了对人工智能工作流的支持。同时,Flink 2.0 对 API 和配置进行了全面清理,移除了过时组件,为未来的发展奠定了坚实基础。感谢 165 位贡献者的辛勤付出,共同推动实时计算进入新纪元!
1413 1
Apache Flink 2.0.0: 实时数据处理的新纪元
|
存储 大数据 数据处理
您有一份 Apache Flink 社区年度报告请查收~
您有一份 Apache Flink 社区年度报告请查收~
233 0

相关产品

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

    更多