Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Managed Service for Apache Flink 現在支援 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 使用就地版本升級。透過就地版本升級,您可以保留跨 Apache Flink 版本針對單一 ARN 的應用程式可追蹤性,包括快照、日誌、指標、標籤、Flink 組態等。
支援的功能
Apache Flink 1.19.1 引進 SQL API 的改進,例如具名參數、自訂來源平行處理,以及各種 Flink 運算子的不同狀態 TTLs。
支援的功能 | 描述 | Apache Flink 文件參考 |
---|---|---|
SQL API:支援使用 SQL Hint 設定不同的狀態 TTLs | 使用者現在可以在串流定期聯結和群組彙總上設定狀態 TTL。 | FLIP-373:使用 SQL Hint 設定不同的狀態 TTLs |
SQL API:支援函數和呼叫程序的具名參數 | 使用者現在可以在 函數中使用具名參數,而不是依賴參數的順序。 | FLIP-378:支援函數和呼叫程序的具名參數 |
SQL API:設定 SQL 來源的平行處理 | 使用者現在可以指定 SQL 來源的平行處理。 | FLIP-367:支援設定資料表/SQL 來源的平行處理 |
SQL API:支援工作階段視窗 TVF | 使用者現在可以使用工作階段視窗資料表值函數。 | FLINK-24024:支援工作階段視窗 TVF |
SQL API:Window TVF 彙總支援 Changelog 輸入 | 使用者現在可以在 changelog 輸入上執行視窗彙總。 | FLINK-20281:視窗彙總支援 changelog 串流輸入 |
支援 Python 3.11 |
Flink 現在支援 Python 3.11,比 Python 3.10 快 10-60%。如需詳細資訊,請參閱 Python 3.11 中的新功能。 |
FLINK-33030:新增 python 3.11 支援 |
提供 TwoPhaseCommitting 接收器的指標 | 使用者可以檢視兩個階段遞交接收中遞交者狀態的統計資料。 | FLIP-371:提供在 TwoPhaseCommittingSink 中建立發射器的初始化內容 |
用於任務重新啟動和檢查點的追蹤報告程式 |
使用者現在可以監控檢查點持續時間和周轉趨勢的追蹤。在 Amazon Managed Service for Apache Flink 中,我們預設啟用 Slf4j 追蹤報告程式,讓使用者可以透過應用程式 CloudWatch Logs 監控檢查點和任務追蹤。 | FLIP-384:介紹 TraceReporter,並使用它來建立檢查點和復原追蹤 |
注意
您可以透過提交支援案例
選擇加入功能 | 描述 | Apache Flink 文件參考 |
---|---|---|
當來源正在處理待處理項目時,支援使用較大的檢查點間隔 | 這是選擇加入功能,因為使用者必須根據其特定任務需求來調整組態。 | FLIP-309:支援在來源處理待處理項目時使用較大的檢查點間隔 |
將 System.out 和 System.err 重新導向至 Java 日誌 | 這是選擇加入功能。在 Amazon Managed Service for Apache Flink 上,預設行為是忽略 System.out 和 System.err 的輸出,因為生產的最佳實務是使用原生 Java 記錄器。 | FLIP-390:支援系統輸出和錯誤重新導向至 LOG 或捨棄 |
如需 Apache Flink 1.19.1 版本文件,請參閱 Apache Flink 文件 1.19.1 版
Amazon Managed Service for Apache Flink 1.19.1 的變更
預設啟用記錄追蹤報告程式
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 連結 | 描述 |
---|---|
FLINK-35531 |
此修正解決 1.17.0 中引入的效能迴歸,這會導致 HDFS 的寫入速度變慢。 |
FLINK-35157 |
此修正解決了當具有浮水印對齊的來源遇到已完成子任務時,Flink 任務卡住的問題。 |
FLINK-34252 |
此修正解決了產生浮水印時導致 IDLE 浮水印狀態錯誤的問題。 |
FLINK-34252 |
此修正透過減少系統呼叫,解決浮水印產生期間的效能迴歸。 |
FLINK-33936 |
此修正解決了在資料表 API 上的微型批次彙總期間重複記錄的問題。 |
FLINK-35498 |
此修正解決了在資料表 API UDFs 中定義具名參數時,引數名稱衝突的問題。 |
FLINK-33192 |
此修正解決了由於計時器清理不當而導致視窗運算子的狀態記憶體流失的問題。 |
FLINK-35069 |
此修正解決了當 Flink 任務在視窗結尾卡住觸發計時器時的問題。 |
FLINK-35832 |
此修正解決了 IFNULL 傳回不正確結果時的問題。 |
FLINK-35886 |
此修正解決了將背壓任務視為閒置時的問題。 |
元件
元件 | 版本 |
---|---|
Java | 11 (建議使用) |
Python |
3.11 |
Kinesis Data Analytics Flink Runtime (aws-kinesisanalytics-runtime) | 1.2.0 |
連接器 | 如需可用連接器的資訊,請參閱 Apache Flink 連接器。 |
Apache Beam (僅限於 Beam 應用程式) |
從 2.61.0 版開始。如需詳細資訊,請參閱 Flink 版本相容性 |
已知問題
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 筆記本。