Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是阿帕奇 Flink 的 Amazon 託管服務?
使用 Amazon 阿帕奇 Flink 託管服務,您可以使用 Java,斯卡拉,Python,或SQL處理和分析流數據。此服務可讓您針對串流來源和靜態來源撰寫和執行程式碼,以執行時間序列分析、饋送即時儀表板和指標。
您可以使用以 Apache Flink 為基礎的開放原始碼程式庫,在 Apache Flink 的受管理服務中,使用您選擇的語言來建置應用程式。
Managed Service for Apache Flink 可為 Apache Flink 應用程式提供基礎設施。它可處理核心功能,例如佈建運算資源、AZ 容錯移轉復原能力、parallel 運算、自動調整規模,以及應用程式備份 (以檢查點和快照實作)。您可以使用高階 Flink 程式設計功能 (例如運算子、函數、來源和接收器),使用方式與您自行託管 Flink 基礎架構時相同。
決定使用阿帕奇 Flink 的管理服務或管理服務為阿帕奇 Flink 工作室
您有兩個選項可以使用適用於 Apache Flink 的 Amazon 受管服務來執行 Flink 任務。使用 Apache Flink 的託管服務,您可以使用您選擇的和 Apache Flink 數據流或表格以 Java,斯卡拉或 Python(和嵌入式SQL)構建 Flink 應用程序。IDE APIs透過適用於 Apache Flink Studio 的受管理服務,您可以即時以互動方式查詢資料串流,並使用標準SQL、Python 和 Scala 輕鬆建置和執行串流處理應用程式。
您可以選取最適合您使用案例的方法。如果您不確定,本節將提供高級指導來幫助您。
在決定是否為 Apache Flink 使用 Amazon 託管服務還是阿帕奇 Flink 工作室的 Amazon 託管服務之前,您應該考慮使用案例。
如果您打算操作一個長時間運行的應用程序,該應用程序將承擔諸如流ETL或連續應用程序之類的工作負載,則應考慮使用 Apache Flink 的託管服務。這是因為您可以APIs直接在您選擇的情況下使用 Flink 建立您IDE的 Flink 應用程式。使用您的在本機開發IDE也可確保您可以利用軟體開發生命週期 (SDLC) 常見程序和工具,例如 Git 中的程式碼版本控制、CI/CD 自動化或單元測試。
如果您對臨時資料探索感興趣、想要以互動方式查詢串流資料或建立私人即時儀表板,Apache Flink Studio 的受管服務將協助您只要按幾下滑鼠即可達成這些目標。熟悉的使用者SQL可以考慮直接從 Studio 部署長時間執行的應用程式。
注意
您可以將您的 Studio 筆記本升級為長時間運行的應用程序。不過,如果您想要整合您的SDLC工具,例如 Git 和 CI/CD 自動化上的程式碼版本控制,或是單元測試等技術,我們建議您使用您選擇的 Apache Flink 管理服務。IDE
選擇要在 Apache Flink APIs 的受管理服務中使用的 Apache Flink
您可以使用 Java,Python 和斯卡拉在 Apache Flink 的託管服務中使用 Apache Flink APIs 在您選擇IDE的一個應用程序。您可以API在文件中找到有關如何使用 Flink 資料流和表格建置應用程式的指引。您可以選擇建立 Flink 應用程式所使用的語言,APIs以及最符合應用程式和作業需求的語言。如果您不確定,本節將提供高階指引以協助您。
選擇一個快速連結 API
Apache Flink APIs 具有不同級別的抽象,可能會影響您決定構建應用程序的方式。它們具有表現力和靈活性,可以一起使用來構建您的應用程序。您不必只使用一個 Flink API。您可以APIs在 Apache Flink 文件中進一步了解有關 Flink
Flink 提供了四個級別的API抽象:Flink SQLAPI,表 DataStream API,和過程函數,這是與. DataStream API 這些都在阿帕奇 Flink 的 Amazon 託管服務中受到支持。建議盡可能從更高層級的抽象開始,但是某些 Flink 功能僅適用於數據流,您可以在API其中使用 Java,Python 或 Scala 創建應用程序。在下列情況下,您應該考慮使用資料流API:
您需要對狀態進行細粒度控制
您希望利用異步調用外部數據庫或端點的能力(例如推斷)
您想要使用自定義計時器(例如實現自定義窗口或後期事件處理)
-
您希望能夠在不重置狀態的情況下修改應用程序的流程
注意
選擇具有以下內容的語言 DataStream
API:
SQL無論選擇的程式語言為何,都可以嵌入任何 Flink 應用程式中。
如果您打算使用 DataStream API,則 Python 中並非所有連接器都受到支援。
如果你需要低延遲/高吞吐量,你應該考慮使用 Java/Scala 而不管. API
如果您打算在過程函數中使用異步 IO,API則需要使用 Java。
的選擇也會影響您在API不必重設狀態的情況下進化應用程式邏輯的能力。這取決於特定功能 (在運算子UID上設定的能力),該功能僅DataStream
API適用於 Java 和 Python。如需詳細資訊,請參閱 Apache Flink 文件中的UUIDs針對所有運算子設
開始使用串流資料應用程式
您可以先建立可持續讀取和處理串流資料的 Managed Service for Apache Flink 應用程式。然後,使用您選擇IDE的程式碼撰寫程式碼,並使用即時串流資料進行測試。您也可以設定希望 Managed Service for Apache Flink 傳送結果的目的地。
建議您閱讀下列章節入門:
另一方面,您可以先建立 Apache Flink Studio 筆記本的受管理服務,讓您即時以互動方式查詢資料串流,並使用標準SQL、Python 和 Scala 輕鬆建置和執行串流處理應用程式。只要在中按幾下滑鼠 AWS Management Console,即可啟動無伺服器筆記本,查詢資料串流並在幾秒鐘內取得結果。建議您閱讀下列章節入門: