Apache Flink 2.0-preview released

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 物化表、以及对自适应批处理和推测执行的支持。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容