

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

Managed Service for Apache Flink 現在支援 Apache Flink 1.19.1 版。本節將介紹 Managed Service for Apache Flink 1.19.1 支援的主要新功能和變更。

**注意**  
如果您使用的是舊版支援的 Apache Flink，而且想要將現有應用程式升級至 Apache Flink 1.19.1，則可以使用就地 Apache Flink 版本升級來執行此操作。如需詳細資訊，請參閱[針對 Apache Flink 使用就地版本升級](how-in-place-version-upgrades.md)。透過就地版本升級，您可以針對跨 Apache Flink 版本的單一 ARN 保留應用程式可追蹤性，包括快照、日誌、指標、標籤、Flink 組態等。

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

Apache Flink 1.19.1 引進 SQL API 的改進，例如具名參數、自訂來源平行處理，以及各種 Flink 運算子的不同狀態 TTLs。


**支援的功能和相關文件**  

| 支援的功能 | Description | Apache Flink 文件參考  | 
| --- | --- | --- | 
| SQL API：支援使用 SQL Hint 設定不同的狀態 TTLs  | 使用者現在可以在串流定期聯結和群組彙總上設定狀態 TTL。 | [FLIP-373：使用 SQL Hint 設定不同的狀態 TTLs ](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：支援設定資料表/SQL 來源的平行處理](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=263429150) | 
| SQL API：支援工作階段視窗 TVF | 使用者現在可以使用工作階段視窗資料表值函數。 | [FLINK-24024：支援工作階段 Window TVF](https://issues.apache.org/jira/browse/FLINK-24024) | 
| SQL API：Window TVF 彙總支援 Changelog 輸入 | 使用者現在可以在 changelog 輸入上執行視窗彙總。 | [FLINK-20281：視窗彙總支援 changelog 串流輸入](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) | 
|  用於任務重新啟動和檢查點的追蹤報告程式  | 使用者現在可以監控檢查點持續時間和周轉趨勢的追蹤。在 Amazon Managed Service for Apache Flink 中，我們預設啟用 Slf4j 追蹤報告程式，讓使用者可以透過應用程式 CloudWatch Logs 監控檢查點和任務追蹤。 | [ 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#/)來選擇加入下列功能：


**選擇加入功能和相關文件**  

| 選擇加入功能 | Description | 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：支援系統輸出和錯誤重新導向至 LOG 或捨棄](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 文件 1.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 引進檢查點和復原追蹤，讓使用者能夠更好地偵錯檢查點和任務復原問題。在 Amazon Managed Service for Apache Flink 中，這些追蹤會登入 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 連結 | Description | 
| --- | --- | 
| [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) | 此修正解決了產生浮水印導致 IDLE 浮水印狀態錯誤的問題。 | 
| [FLINK-34252](https://issues.apache.org/jira/browse/FLINK-34252) | 此修正透過減少系統呼叫，解決浮水印產生期間的效能迴歸問題。 | 
| [FLINK-33936](https://issues.apache.org/jira/browse/FLINK-33936) | 此修正解決了資料表 API 上的微型批次彙總期間重複記錄的問題。 | 
| [FLINK-35498](https://issues.apache.org/jira/browse/FLINK-35498) | 此修正解決了在資料表 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)。