使用 Apache Flink 的串流處理應用程式
開放原始碼
Amazon Kinesis Data Analytics 包括開放原始碼庫,例如 Apache Flink、Apache Beam、Apache Zeppelin、AWS SDK 和 AWS 服務整合。 Apache Flink 為開放原始碼架構和引擎,可用於建置高可用性且準確的串流應用程式。Apache Beam 是一種開放原始碼統一模型,用於定義跨多個執行引擎執行的串流和批次資料處理應用程式。AWS 軟體開發套件 (SDK) 透過使用您偏好的語言提供應用程式介面 (API),並包括 AWS 程式庫、程式碼範例和文件,協助您消除為眾多 AWS 服務編寫程式碼的複雜性。
靈活的 API
Kinesis Data Analytics 以 Java、Scala、Python 及 SQL 提供靈活的 API,專為不同的使用案例設計,包括狀態事件處理、串流 ETL 和即時分析。預先建置的運算子和分析功能讓您在幾小時而非數月,即可建置 Apache Flink 串流應用程式。Kinesis Data Analytics 程式庫可擴展,因此,您可以針對各種使用案例執行即時處理。
AWS 服務整合
您可使用極少的程式碼,設定和整合資料來源或目的地。您可以使用 Amazon Kinesis Data Analytics 資料庫,與 Amazon Simple Storage Service (S3)、Amazon Managed Streaming for Apache Kafka (Amazon MSK)、Amazon OpenSearch Service、Amazon DynamoDB、Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon CloudWatch 和 AWS Glue 結構描述登錄檔進行整合。
進階整合功能
除了 AWS 整合外,Kinesis Data Analytics 資料庫還包含超過 10 個 Apache Flink 連接器,並且能夠建置自訂整合。您可透過數行程式碼,使用進階功能修改每個整合的行為模式。您還可以使用一系列 Apache Flink 原生型別建置自訂整合,讓您能從可透過網際網路存取的檔案、目錄、通訊端或其他來源,進行讀取和寫入。
與 AWS Glue 結構描述登錄檔相容
Kinesis Data Analytics for Apache Flink 與 AWS Glue 結構描述登錄檔相容。此 AWS Glue 無伺服器功能讓您能夠使用已註冊的 Apache Avro 結構描述,來驗證和控制串流資料的演變,而無需額外付費。結構描述登錄檔可協助您管理作為來源或匯點連接到 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK) 或 Amazon Kinesis Data Streams 的 Kinesis Data Analytics for Apache Flink 工作負載上的結構描述。將資料串流應用程式與結構描述登錄檔整合後,您可以利用控管結構描述演變的相容性檢查,以提高資料品質並防止意外變更。
僅處理一次
使用 Kinesis Data Analytics 中的 Apache Flink 建置應用程式,在此處理記錄剛好影響結果一次,稱之為「僅處理一次」。即使在應用程式中斷的情況下 (例如內部服務維護或使用者進行的應用程式更新),該服務仍會確保將所有資料均處理完畢,且沒有重複的資料。
有狀態處理
該服務會在執行中的應用程式儲存體中,存放先前和處理中的運算或狀態。比較任意時段內的即時和過去結果,並在應用程式中斷期間實現快速復原。狀態會一律加密,並逐步儲存於執行中的應用程式儲存體中。
耐久應用程式備份
您可以透過簡單的 API 呼叫,建立和刪除耐久應用程式備份。在中斷後立即從最新的備份還原應用程式,或者將應用程式還原為舊版。
Amazon Kinesis Data Analytics Studio
串流檢查和視覺化
Kinesis Data Analytics Studio 支援內建視覺化的不及 1 秒查詢。您可執行臨機查詢,以迅速檢查資料串流,並於數秒內檢視結果。
簡便的建置並執行環境
Studio 筆記本為開發、偵錯程式碼及執行串流處理應用程式提供單一界面的開發經驗。
使用 SQL、Python 或 Scala 處理
Kinesis Data Analytics Studio 可支援在同一開發環境內使用 SQL、Python 及 Scala。語法強調顯示、驗證及內容相關建議,可在筆記本內引導您以內建支援的 Apache Flink 特定功能與資料互動。
快速、無伺服器串流處理應用程式開發
沒有要佈建、管理或擴展的伺服器。只需編寫程式碼並為您的應用程式取用的資源付費。在筆記本內輕鬆地部署程式碼至持續執行的串流處理應用程式,並處於自動擴展且耐久的狀態。
開放原始碼
Kinesis Data Analytics Studio 在 Apache Flink 上執行並製作生產中使用的 Apache Flink 應用程式,同時 Apache Zeppelin 筆記本能提供熟悉、易用的經驗,以自選的語言編撰串流應用程式。
與 AWS Glue 資料型錄整合
AWS Glue 資料型錄是持久性的中繼資料庫,可作為含有資料表定義的集中儲存器。您可以使用 AWS Glue 資料型錄快速探索和搜尋多個 AWS 資料集。Kinesis Data Analytics Studio 與 AWS Glue 資料型錄相容,您可用以為來源與目的地資料表定義結構描述。
Kinesis Data Analytics SQL 應用程式
對於 SQL 應用程式的新專案,我們建議以使用新 Kinesis Data Analytics Studio 優於 Kinesis Data Analytics。Kinesis Data Analytics Studio 兼具易用與進階分析功能,讓您幾分鐘內建置出複雜的串流處理應用程式。
支援標準 SQL
Kinesis Data Analytics 支援標準 ANSI SQL,因此您只需熟悉 SQL 即可。
整合的輸入和輸出
Kinesis Data Analytics 與 Amazon Kinesis Data Streams 和 Amazon Kinesis Data Firehose 整合,使您能夠隨時導入串流資料。只需將 Kinesis Data Analytics 指到輸入串流,它就能自動讀取資料,並加以剖析,以供處理。您可透過 Kinesis Data Firehose 將處理的結果發送到其他 AWS 服務,包括 Simple Storage Service (Amazon S3)、Amazon Redshift 和 Amazon OpenSearch Service。您也可以傳送輸出資料到 Amazon Kinesis Data Streams,以建置進階串流處理管道。
主控台式 SQL 編輯器
使用主控台式編輯器,使用串流資料操作 (如移動時段平均值) 建置 SQL 查詢。您也可以使用即時資料檢視串流結果和錯誤,以互動的方式偵錯或進一步優化您的指令碼。
易於使用的結構描述編輯器
Kinesis Data Analytics 提供易於使用的結構描述編輯器來探索和編輯輸入資料結構。精靈會自動辨識 JSON 和 CSV 等標準資料格式。它會推斷輸入資料的結構以建立基準結構描述,您可以使用結構描述編輯器進一步優化該結構描述。
預先建置的 SQL 範本
互動式 SQL 編輯器搭配了一系列 SQL 範本,提供最常用操作類型 (如彙整、依事件轉換和篩選) 的基準 SQL 程式碼。您只需為分析任務選取適用的範本,然後使用 SQL 編輯器編輯提供的程式碼,針對您專屬使用案例加以自訂。
進階串流處理函數
Kinesis Data Analytics 提供已針對串流處理優化的函數,讓您輕鬆執行串流資料的進階分析,如異常偵測和 top-K 分析。