Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Managed Service for Apache Flink for Python 入門
本節將為您介紹使用 Python 和資料表 API 的 Managed Service for Apache Flink 的基本概念。它描述了建立和測試應用程式的可用選項。此外,它還提供了相關指示,以協助您安裝完成本指南教學課程以及建立您的第一個應用程式所需要的工具。
主題
檢閱 Managed Service for Apache Flink 應用程式的元件
注意
Amazon Managed Service for Apache Flink 支援所有 Apache Flink APIs
為了處理資料,您的 Managed Service for Apache Flink 應用程式會使用 Python 指令碼來定義資料流程,以處理輸入並使用 Apache Flink 執行時間產生輸出。
典型的 Managed Service for Apache Flink 應用程式具有下列元件:
-
執行期屬性:您可以使用執行期屬性來設定應用程式,無需重新編譯應用程式的程式碼。
-
來源:應用程式會耗用來自一或多個來源的資料。來源使用連接器
從外部系統讀取資料,例如 Kinesis 資料串流或 Amazon MSK 主題。您也可以使用特殊連接器,從應用程式內產生資料。當您使用 SQL 時,應用程式會將來源定義為來源資料表。 -
轉換:應用程式使用一個或多個可以篩選、擴充或彙總資料的轉換來處理資料。當您使用 SQL 時,應用程式會將轉換定義為 SQL 查詢。
-
接收:應用程式會透過接收將資料傳送至外部來源。接收器使用連接器
將資料傳送至外部系統,例如 Kinesis 資料串流、Amazon MSK 主題、Amazon S3 儲存貯體或關聯式資料庫。您也可以使用特殊連接器來列印輸出以供開發之用。當您使用 SQL 時,應用程式會將接收器定義為插入結果的接收器資料表。如需詳細資訊,請參閱在 Managed Service for Apache Flink 中使用接收器寫入資料。
您的 Python 應用程式也可能需要外部相依性,例如其他 Python 程式庫或應用程式使用的任何 Flink 連接器。當您封裝應用程式時,您必須包含應用程式所需的每個相依性。本教學課程示範如何包含連接器相依性,以及如何封裝應用程式以在 Amazon Managed Service for Apache Flink 上部署。
滿足先決條件
若要完成本教學課程,您必須具備下列項目:
-
Python 3.11,最好使用 VirtualEnv (venv)
、Conda 或 Miniconda 等獨立環境。 -
Git 用戶端
- 如果您尚未安裝 Git 用戶端。 -
Java 開發套件 (JDK) 第 11 版
- 安裝 Java JDK 11,並將 JAVA_HOME
環境變數設定為指向您的安裝位置。如果您沒有 JDK 11,您可以使用 Amazon Corretto或我們選擇的任何標準 JDK。-
若要確認您已正確安裝 JDK,請執行下列命令。如果您使用的是 Amazon Corretto 11 以外的 JDK,則輸出會有所不同。請確定版本為 11.x。
$ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
-
-
Apache Maven
- 如果您尚未安裝 Apache Maven。如需詳細資訊,請參閱安裝 Apache Maven 。 -
若要測試 Apache Maven 安裝,請使用下列命令:
$ mvn -version
-
注意
雖然您的應用程式是以 Python 撰寫,但 Apache Flink 在 Java 虛擬機器 (JVM) 中執行。它將大部分相依性分發為 JAR 檔案,例如 Kinesis 連接器。若要管理這些相依性,並將應用程式封裝在 ZIP 檔案中,請使用 Apache Maven
警告
我們建議您使用 Python 3.11 進行本機開發。這與 Amazon Managed Service for Apache Flink 搭配 Flink 執行期 1.19 使用的 Python 版本相同。
在 Python 3.12 上安裝 Python Flink 程式庫 1.19 可能會失敗。
如果您的機器預設安裝了另一個 Python 版本,我們建議您使用 Python 3.11 建立 VirtualEnv 等獨立環境。
適用於本機開發的 IDE
我們建議您使用 PyCharm
然後,完成 的前兩個步驟Amazon Managed Service for Apache Flink (DataStream API) 入門:
若要開始使用,請參閱建立應用程式。