Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Managed Service for Apache Flink:運作方式
Managed Service for Apache Flink 是一種全受管 Amazon 服務,可讓您使用 Apache Flink 應用程式來處理串流資料。首先,您會編寫 Apache Flink 應用程式,然後建立 Managed Service for Apache Flink 應用程式。
設定您的 Apache Flink 應用程式
Apache Flink 應用程式是使用 Apache Flink 框架建立的 Java 或 Scala 應用程式。您可以在本機編寫並建置 Apache Flink 應用程式。
應用程式主要使用 DataStream API
兩種 API 的功能如下:
DataStream API
Apache Flink DataStream API 程式設計模型以兩個元件為基礎:
-
資料串流:資料記錄之連續資料流的結構化表示。
-
轉換運算子:接受一或多個資料串流作為輸入,並產生一或多個資料串流作為輸出。
使用 DataStream API 建立的應用程式會執行下列動作:
從資料來源 (例如 Kinesis 串流或 Amazon MSK 主題) 讀取資料。
將轉換套用至資料,例如篩選、彙總或富集。
將轉換後的資料寫入資料接收器。
使用 DataStream API 的應用程式可以使用 Java 或 Scala 編寫,而且可以從 Kinesis 資料串流、Amazon MSK 主題或自訂來源讀取。
應用程式使用連接器來處理資料。Apache Flink 使用以下類型的連接器:
-
來源:用於讀取外部資料的連接器。
-
接收器:用於寫入外部位置的連接器。
-
運算子:用於處理應用程式內資料的連接器。
典型的應用程式包含至少一個具有來源的資料串流、具有一或多個運算子的資料串流,以及至少一個資料接收器。
如需如何使用 DataStream API 的詳細資訊,請參閱 檢閱 DataStream API 元件。
資料表 API
Apache Flink 資料表 API 程式設計模型以下列元件為基礎:
-
資料表環境:用於建立和託管一個或多個資料表的基礎資料的介面。
-
資料表:提供 SQL 資料表或檢視存取權的物件。
-
資料表來源:用於從外部來源 (例如 Amazon MSK 主題) 讀取資料。
-
資料表函數:用於轉換資料的 SQL 查詢或 API 呼叫。
-
資料表接收器:用於將資料寫入外部位置,例如 Amazon S3 儲存貯體。
使用資料表 API 建立的應用程式會執行下列動作:
透過連線至
Table Source
建立TableEnvironment
。使用 SQL 查詢或資料表 API 函數在
TableEnvironment
中建立資料表。使用資料表 API 或 SQL 在資料表上執行查詢。
使用資料表函數或 SQL 查詢對查詢結果套用轉換。
將查詢或函數結果寫入
Table Sink
。
使用資料表 API 的應用程式可以用 Java 或 Scala 編寫,並且可以使用 API 呼叫或 SQL 查詢來查詢資料。
如需如何使用資料表 API 的詳細資訊,請參閱 檢閱資料表 API 元件。
建立 Managed Service for Apache Flink 應用程式
Managed Service for Apache Flink 是一種 AWS 服務,可建立託管 Apache Flink 應用程式的環境,並提供下列設定:
-
使用執行期屬性:可以提供給應用程式的參數。您可以變更這些參數,無需重新編譯應用程式的程式碼。
-
實作容錯能力:應用程式如何從中斷和重新啟動中復原。
-
在 Amazon Managed Service for Apache Flink 中記錄和監控:應用程式如何將事件記錄到 CloudWatch Logs。
-
實作應用程式擴展:應用程式如何佈建運算資源。
您可以使用主控台或 AWS CLI建立 Managed Service for Apache Flink 應用程式。若要開始建立 Managed Service for Apache Flink 應用程式,請參閱教學課程:開始使用 Managed Service for Apache Flink 中的 DataStream API。