Amazon Managed Service for Apache Flink 1.18 - Managed Service for Apache Flink
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Managed Service for Apache Flink(Amazon MSF)之前称为 Amazon Kinesis Data Analytics for Apache Flink。

Amazon Managed Service for Apache Flink 1.18

现在,Managed Service for Apache Flink Studio 支持 Apache Flink 1.18.1 版本。了解在 Managed Service for Apache Flink 支持 Apache Flink 1.18.1 后引入的关键新功能和更改。

注意

如果您使用的是早期支持的 Apache Flink 版本,并且想要将现有应用程序升级到 Apache Flink 1.18.1,则可以使用就地升级 Apache Flink 版本来实现。通过就地版本升级,您可以针对单个 ARN 在 Apache Flink 版本中保持应用程序的可追溯性,包括快照、日志、指标、标签、Flink 配置等。您可以在 RUNNINGREADY 状态中使用此功能。有关更多信息,请参阅 使用 Apache Flink 的就地版本升级

Apache Flink 文档参考中支持的功能
支持的功能 描述 Apache Flink 文档参考
OpenSearch 连接器 该连接器包括一个接收器,可提供至少一次性的保证。 GitHub:OpenSearch 连接器
Amazon DynamoDB 连接器 该连接器包括一个接收器,可提供至少一次性的保证。 Amazon DynamoDB 接收器
MongoDB 连接器 该连接器包括源和接收器,可提供至少一次性的保证。 MongoDB 连接器
将 Hive 与 Flink 规划程序解耦

您可以直接使用 Hive 方言,无需额外的 JAR 交换。

FLINK-26603:将 Hive 与 Flink 规划程序解耦
默认情况下,在 RocksDBWriteBatchWrapper 中禁用 WAL

这可提供更快的恢复时间。

FLINK-32326:默认情况下在 RocksDBWriteBatchWrapper 中禁用 WAL

启用水印对齐时提高水印聚合性能

启用水印对齐时提供水印聚合性能,并且添加相关的基准测试。

FLINK-32524:水印聚合性能
为生产环境使用做好水印对齐准备 消除大型作业导致 JobManager 过载的风险 FLINK-32548:准备好水印对齐

异步接收器的可配置 RateLimitingStratey

RateLimitingStrategy 允许您配置要扩展的内容、何时扩展以及扩展的范围。

FLIP-242:为异步接收器引入可配置的 RateLimitingStrategy

批量获取表和列统计信息

提高查询性能 FLIP-247:批量获取给定分区的表和列统计信息

有关 Apache Flink 1.18.1 版本文档,请参阅 Apache Flink 1.18.1 发布公告

Akka 被 Pekko 取代

在 Apache Flink 1.18 中,Apache Flink 用 Pekko 取代 Akka。Apache Flink 1.18.1 及更高版本的 Managed Service for Apache Flink 完全支持此更改。您无需因为此更改而修改应用程序。有关更多信息,请参阅 FLINK-32468:用 Pekko 取代 Akka

支持线程模式下的 PyFlink 运行时执行

Apache Flink 的这一更改为 Pyflink 运行时框架引入了一种新的执行模式,即进程模式。进程模式现在可以在同一个线程(而不是单独的进程)中执行 Python 用户定义的函数。

向后移植的错误修复

Amazon Managed Service for Apache Flink 向后移植 Flink 社区针对关键问题的修复。这意味着运行时与 Apache Flink 1.18.1 发布版本不同。以下是我们向后移植的错误修复列表:

向后移植的错误修复
Apache Flink JIRA 链接 描述
FLINK-33863 此修复解决了压缩快照的状态恢复失败时的问题。
FLINK-34063 此修复解决了启用快照压缩时源操作员丢失拆分的问题。Apache Flink 为所有检查点和保存点提供可选的压缩(默认:关闭)。Apache Flink 在 Flink 1.18.1 中发现了一个错误,即启用快照压缩后无法正确恢复操作员状态。这可能导致数据丢失或无法从检查点恢复。
FLINK-35069 此修复解决了 Flink 作业在窗口结束期间触发计时器时卡住的问题。
FLINK-35097 此修复解决了 Table API 文件系统连接器中原始格式的重复记录的问题。
FLINK-34379 此修复解决了启用动态表筛选时的 OutOfMemoryError 问题。
FLINK-28693 此修复解决了如果水印具有 ColumnBy 表达式,Table API 无法生成图表的问题。
FLINK-35217 此修复解决了在特定 Flink 任务失败模式下检查点损坏的问题。
组件 版本
Java 11(推荐使用)
Scala

从 1.15 版本开始,Flink 与 Scala 无关。作为参考,MSF Flink 1.18 已针对 Scala 3.3(LTS)进行了验证。

Managed Service for Apache Flink Flink 运行时系统 (aws-kinesisanalytics-runtime) 1.2.0
Amazon Kinesis 连接器(flink-connector-kinesis)[源] 4.2.0-1.18
Amazon Kinesis 连接器(flink-connector-kinesis)[接收器] 4.2.0-1.18
Apache Beam(仅限 Beam 应用程序)

从 2.57.0 版本开始。有关更多信息,请参阅 Flink 版本兼容性

Amazon Managed Service for Apache Flink Studio

Studio 利用 Apache Zeppelin 笔记本为开发、调试代码和运行 Apache Flink 流处理应用程序提供单一界面开发体验。Zeppelin 的 Flink 解释器需要升级才能启用对 Flink 1.18 的支持。这项工作由 Zeppelin 社区计划,我们将在完成后更新这些注意事项。您可以继续将 Flink 1.15 与 Amazon Managed Service for Apache Flink Studio 结合使用。有关更多信息,请参阅创建 Studio 笔记本

子任务被反压时水印空闲状态不正确

当子任务被反压时,水印生成中存在一个已知问题,该问题已从 Flink 1.19 及更高版本中修复。当 Flink 作业图表受到反压时,这可能会显示为最新记录数量的激增。建议您升级到最新的 Flink 版本,以纳入此修复。有关更多信息,请参阅子任务被反压/阻止时水印空闲超时统计不正确