

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

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

现在，Managed Service for Apache Flink Studio 支持 Apache Flink 1.19.1 版本。本节向您介绍 Managed Service for Apache Flink 支持 Apache Flink 1.19.1 后引入的关键新功能和更改。

**注意**  
如果您使用的是早期支持的 Apache Flink 版本，并且想要将现有应用程序升级到 Apache Flink 1.19.1，则可以使用就地升级 Apache Flink 版本来实现。有关更多信息，请参阅 [使用 Apache Flink 的就地版本升级](how-in-place-version-upgrades.md)。通过就地版本升级，您可以针对单个 ARN 在 Apache Flink 版本中保持应用程序的可追溯性，包括快照、日志、指标、标签、Flink 配置等。

## 支持的功能
<a name="flink-1-19-1-supported-features"></a>

Apache Flink 1.19.1 在 SQL API 中引入了改进，例如命名参数、自定义源代码并行度以及各种 Flink 运算符的不同状态。 TTLs 


**支持的功能和相关文档**  

| 支持的功能 | 说明 | Apache Flink 文档参考  | 
| --- | --- | --- | 
| SQL API：支持 TTLs 使用 SQL 提示配置不同的状态 | 用户现在可以在流常规联接和组聚合上配置状态 TTL。 | [FLIP-373： TTLs 使用 SQL 提示配置不同的状态](https://cwiki.apache.org/confluence/display/FLINK/FLIP-373%3A+Support+Configuring+Different+State+TTLs+using+SQL+Hint) | 
| SQL API：支持函数和调用过程的命名参数 | 用户现在可以在函数中使用命名参数，而不必依赖参数的顺序。 | [FLIP-378：支持函数和调用过程的命名参数](https://cwiki.apache.org/confluence/display/FLINK/FLIP-387%3A+Support+named+parameters+for+functions+and+call+procedures) | 
| SQL API：为 SQL 源设置并行度 | 用户现在可以为 SQL 源指定并行度。 | [FLIP-367：Support 为信号源设置并行度 Table/SQL ](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=263429150) | 
| SQL API：支持会话窗口 TVF | 用户现在可以使用会话窗口表值函数。 | [FLINK-24024：支持会话窗口 TVF](https://issues.apache.org/jira/browse/FLINK-24024) | 
| SQL API：窗口 TVF 聚合支持更改日志输入 | 用户现在可以对更改日志输入进行窗口聚合。 | [FLINK-20281：窗口聚合支持更改日志流输入](https://issues.apache.org/jira/browse/FLINK-20281) | 
|  支持 Python 3.11  | Flink 现在支持 Python 3.11，与 Python 3.10 相比，后者的速度提高了 10-60%。有关详细信息，请参阅 [Python 3.11 中的新增功能](https://docs.python.org/3/whatsnew/3.11.html#summary-release-highlights)。 | [FLINK-33030：添加 python 3.11 支持](https://issues.apache.org/jira/browse/FLINK-33030) | 
| 提供 TwoPhaseCommitting 水槽指标 | 用户可以在提交接收器的两个阶段中查看有关提交者状态的统计信息。 | [FLIP-371：为在中创建提交者提供初始化上下文 TwoPhaseCommittingSink](https://cwiki.apache.org/confluence/display/FLINK/FLIP-371%3A+Provide+initialization+context+for+Committer+creation+in+TwoPhaseCommittingSink) | 
|  用于作业重新启动和检查点的跟踪报告程序  | 用户现在可以监控检查点持续时间和恢复趋势的相关跟踪。在适用于 Apache Flink 的亚马逊托管服务中，我们默认启用 slf4j 跟踪报告器，因此用户可以通过应用程序日志监控检查点和任务跟踪。 CloudWatch  | [FLIP-384：引入 TraceReporter 并使用它来创建检查点和恢复跟踪](https://cwiki.apache.org/confluence/display/FLINK/FLIP-384%3A+Introduce+TraceReporter+and+use+it+to+create+checkpointing+and+recovery+traces) | 

**注意**  
您可以通过提交[支持案例](https://console.aws.amazon.com/support/home#/)来选择加入以下功能：


**选择加入功能和相关文档**  

| 选择加入功能 | 说明 | Apache Flink 文档参考  | 
| --- | --- | --- | 
| 支持在源处理待办事项时使用更大的检查点间隔 | 这是一项选择加入功能，因为用户必须根据自己的特定作业要求调整配置。 | [FLIP-309：支持在源处理待办事项时使用更大的检查点间隔](https://cwiki.apache.org/confluence/display/FLINK/FLIP-309%3A+Support+using+larger+checkpointing+interval+when+source+is+processing+backlog) | 
| 将 System.out 和 System.err 重定向到 Java 日志 | 这是一项选择加入功能。在 Amazon Managed Service for Apache Flink 上，默认行为是忽略 System.out 和 System.err 的输出，因为生产中的最佳实践是使用原生 Java 日志记录程序。 | [FLIP-390：支持将 System.out 和 System.err 重定向到日志或丢弃](https://cwiki.apache.org/confluence/display/FLINK/FLIP-390%3A+Support+System+out+and+err+to+be+redirected+to+LOG+or+discarded) | 

有关 Apache Flink 1.19.1 发布文档，请参阅 [Apache Flink 文档 v1.19.1](https://nightlies.apache.org/flink/flink-docs-stable/)。

## Amazon Managed Service for Apache Flink 1.19.1 中的更改
<a name="flink-1-19-1-known-issues"></a>

**日志跟踪报告程序默认处于启用状态**

Apache Flink 1.19.1 引入了检查点和恢复跟踪，使用户能够更好地调试检查点和作业恢复问题。在适用于 Apache Flink 的 Amazon 托管服务中，这些跟踪记录记录到 CloudWatch 日志流中，允许用户分解任务初始化所花费的时间，并记录检查点的历史大小。

**默认重新启动策略目前为指数延迟**

在 Apache Flink 1.19.1 中，指数延迟重新启动策略有了显著改进。在 Flink 1.19.1 及更高版本的 Amazon Managed Service for Apache Flink 中，Flink 作业默认使用指数延迟重新启动策略。这意味着用户作业可以更快地从暂时错误中恢复，但如果作业重新启动持续进行，则不会使外部系统过载。

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

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


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

| Apache Flink JIRA 链接 | 说明 | 
| --- | --- | 
| [FLINK-35531](https://issues.apache.org/jira/browse/FLINK-35531) | 此修复解决了 1.17.0 中引入的导致写入 HDFS 速度变慢的性能下降问题。 | 
| [FLINK-35157](https://issues.apache.org/jira/browse/FLINK-35157) | 此修复解决了当带有水印对齐的源遇到已完成的子任务时 Flink 作业卡住的问题。 | 
| [FLINK-34252](https://issues.apache.org/jira/browse/FLINK-34252) | 此修复解决了水印生成中导致错误“空闲”水印状态的问题。 | 
| [FLINK-34252](https://issues.apache.org/jira/browse/FLINK-34252) | 此修复通过减少系统调用来解决水印生成期间的性能回归问题。 | 
| [FLINK-33936](https://issues.apache.org/jira/browse/FLINK-33936) | 此修复解决了在 Table API 上进行小批量聚合期间出现重复记录的问题。 | 
| [FLINK-35498](https://issues.apache.org/jira/browse/FLINK-35498) | 此修复解决了在 Table API 中定义命名参数时参数名称冲突的问题 UDFs。 | 
| [FLINK-33192](https://issues.apache.org/jira/browse/FLINK-33192) | 此修复解决了由于计时器清理不当而导致窗口操作员出现状态内存泄漏的问题。 | 
| [FLINK-35069](https://issues.apache.org/jira/browse/FLINK-35069) | 此修复解决了 Flink 作业在窗口结束期间触发计时器时卡住的问题。 | 
| [FLINK-35832](https://issues.apache.org/jira/browse/FLINK-35832) | 此修复解决了 IFNULL 返回错误结果时的问题。 | 
| [FLINK-35886](https://issues.apache.org/jira/browse/FLINK-35886) | 此修复解决了将反压的任务视为空闲时出现的问题。 | 

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


****  

| 组件 | 版本 | 
| --- | --- | 
| Java  | 11（推荐使用） | 
| Python |  3.11  | 
| Kinesis Data Analytics Flink 运行时 () aws-kinesisanalytics-runtime | 1.2.0 | 
| 连接器 | 有关可用连接器的信息，请参阅 [Apache Flink 连接器](https://docs.aws.amazon.com/managed-flink/latest/java/how-flink-connectors.html)。 | 
| [Apache Beam（仅限 Beam 应用程序）](https://aws.amazon.com/developer/language/python/) |  从 2.61.0 版本开始。有关更多信息，请参阅 [Flink 版本兼容性](https://beam.apache.org/documentation/runners/flink/#flink-version-compatibility)。  | 

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

**Amazon Managed Service for Apache Flink Studio**

Studio 利用 Apache Zeppelin 笔记本为开发、调试代码和运行 Apache Flink 流处理应用程序提供单一界面开发体验。Zeppelin 的 Flink 解释器需要升级才能启用对 Flink 1.19 的支持。这项工作由 Zeppelin 社区计划，我们将在完成后更新这些注意事项。您可以继续将 Flink 1.15 与 Amazon Managed Service for Apache Flink Studio 结合使用。有关更多信息，请参阅[创建 Studio 笔记本](https://docs.aws.amazon.com/managed-flink/latest/java/how-zeppelin-creating.html)。