

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Managed Service for Apache Flink 1.18
<a name="flink-1-18"></a>

 现在，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 配置等。您可以在 `RUNNING` 和 `READY` 状态中使用此功能。有关更多信息，请参阅 [使用 Apache Flink 的就地版本升级](how-in-place-version-upgrades.md)。


**Apache Flink 文档参考中支持的功能**  

| 支持的功能 | 说明 | Apache Flink 文档参考  | 
| --- | --- | --- | 
| OpenSearch 连接器 | 该连接器包括一个提供 at-least-once保障的水槽。 | [GitHub：OpenSearch 连接器](https://github.com/apache/flink-connector-opensearch/blob/main/docs/content/docs/connectors/datastream/opensearch.md) | 
| Amazon DynamoDB 连接器 | 该连接器包括一个提供 at-least-once保障的水槽。 | [Amazon DynamoDB 接收器](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/dynamodb/) | 
| MongoDB 连接器 | 该连接器包括电源和接收器，可提供 at-least-once保障。 | [MongoDB 连接器](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/mongodb/) | 
| 将 Hive 与 Flink 规划程序解耦 |  您可以直接使用 Hive 方言，无需额外的 JAR 交换。  | [FLINK-26603：将 Hive 与 Flink 规划程序解耦](https://issues.apache.org/jira/browse/FLINK-26603) | 
| 默认情况下在 Rocks DBWrite BatchWrapper 中禁用 WAL |  这可提供更快的恢复时间。  | [FLINK-32326：默认情况下在 Rocks DBWrite BatchWrapper 中禁用 WAL](https://issues.apache.org/jira/browse/FLINK-32326) | 
|  启用水印对齐时提高水印聚合性能  |  启用水印对齐时提供水印聚合性能，并且添加相关的基准测试。  | [FLINK-32524：水印聚合性能](https://issues.apache.org/jira/browse/FLINK-32420) | 
| 为生产环境使用做好水印对齐准备 | 消除了大型作业超负荷的风险 JobManager | [FLINK-32548：准备好水印对齐](https://issues.apache.org/jira/browse/FLINK-32548) | 
|  可配置 RateLimitingStratey 为异步接收器  |  RateLimitingStrategy 允许您配置缩放内容、何时扩展以及扩展幅度的决定。  | [FLIP-242：引入可配置 RateLimitingStrategy 的异步接收器](https://cwiki.apache.org/confluence/display/FLINK/FLIP-242%3A+Introduce+configurable+RateLimitingStrategy+for+Async+Sink) | 
|  批量获取表和列统计信息  | 提高查询性能 | [FLIP-247：批量获取给定分区的表和列统计信息](https://cwiki.apache.org/confluence/display/FLINK/FLIP-247%3A+Bulk+fetch+of+table+and+column+statistics+for+given+partitions) | 

有关 Apache Flink 1.18.1 版本文档，请参阅[ Apache Flink 1.18.1 发布公告](https://flink.apache.org/2024/01/19/apache-flink-1.18.1-release-announcement/)。

## 使用 Apache Flink 1.18 的 Apache Flink 的亚马逊托管服务发生了变化
<a name="flink-1-15-2-known-issues"></a>

**Akka 被 Pekko 取代**

 在 Apache Flink 1.18 中，Apache Flink 用 Pekko 取代 Akka。Apache Flink 1.18.1 及更高版本的 Managed Service for Apache Flink 完全支持此更改。您无需因为此更改而修改应用程序。有关更多信息，请参阅 [FLINK-32468：用 Pekko 取代 Akka](https://issues.apache.org/jira/browse/FLINK-32468)。

**Supp PyFlink ort 在线程模式下运行时执行**

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

**向后移植的错误修复**

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


**向后移植的错误修复**  

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

## 组件
<a name="flink-1-15-2-components"></a>


****  

| 组件 | 版本 | 
| --- | --- | 
| Java  | 11（推荐使用） | 
| Scala |  从 1.15 版本开始，Flink 与 Scala 无关。作为参考，MSF Flink 1.18 已针对 Scala 3.3（LTS）进行了验证。  | 
| 适用于 Apache 的托管服务 Flink 运行时 () aws-kinesisanalytics-runtime | 1.2.0 | 
| [Amazon Kinesis 连接器 (flink-connector-kinesis) [来源]](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kinesis/4.2.0-1.18) | 4.2.0-1.18 | 
| [Amazon Kinesis 连接器 (flink-connector-kinesis) [水槽]](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-aws-kinesis-streams/4.2.0-1.18) | 4.2.0-1.18 | 
| [Apache Beam（仅限 Beam 应用程序）](https://www.amazonaws.cn/developer/language/python/) |  从 2.57.0 版本开始。有关更多信息，请参阅 [Flink 版本兼容性](https://beam.apache.org/documentation/runners/flink/#flink-version-compatibility)。  | 

## 已知问题
<a name="flink-1-18-known-issues"></a>

**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 笔记本](https://docs.amazonaws.cn/managed-flink/latest/java/how-zeppelin-creating.html)。

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

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