應用程式內串流與幫浦 - 適用於 SQL 應用程式的 Amazon Kinesis Data Analytics 開發人員指南

針對新專案,我們建議您優先選擇新的 Managed Service for Apache Flink Studio,而非 Kinesis Data Analytics for SQL 應用程式。Managed Service for Apache Flink Studio 易於使用且具備進階分析功能,可讓您在幾分鐘內建置複雜的串流處理應用程式。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

應用程式內串流與幫浦

在設定應用程式輸入時,您會將串流來源映射到建立的應用程式內串流。資料會持續從串流來源流入應用程式內串流。應用程式內串流的運作方式,與您可以使用 SQL 陳述式查詢的資料表類似,但這稱為串流,因為其代表連續的資料流程。

注意

請勿將應用程式內串流與 Amazon Kinesis 資料串流和 Firehose 交付串流混淆。應用程式內串流僅存在 Amazon Kinesis Data Analytics 應用程式的環境中。Kinesis 資料串流和 Firehose 交付串流的存在與您的應用程式無關。您可以在應用程式輸入組態將它們設定為串流來源,或在輸出組態將其設定為目的地。

您也可以視需要建立更多應用程式內串流,以儲存中繼查詢結果。建立應用程式內串流分為兩個步驟。首先,建立應用程式內串流,然後將資料送入其中。例如,假設應用程式的輸入組態會建立名 INPUTSTREAM 為的應用程式內串流。在下列範例中,您會建立另一個串流 (TEMPSTREAM),然後送進從 INPUTSTREAM 抽取的資料。

  1. 建立具有三個資料欄的應用程式內串流 (TEMPSTREAM),如下所示:

    CREATE OR REPLACE STREAM "TEMPSTREAM" ( "column1" BIGINT NOT NULL, "column2" INTEGER, "column3" VARCHAR(64));

    欄名位於引號中,代表其區分大小寫。如需詳細資訊,請參閱《Amazon Kinesis Data Analytics SQL 參考》中的識別符

  2. 使用幫浦將數據插入流中。幫浦是執行中的連續插入查詢,可將資料從一個應用程式內串流插入另一個應用程式內串流。下列陳述式會建立幫浦 (SAMPLEPUMP),並透過從另一個資料流 (INPUTSTREAM) 選取記錄,將資料插入 TEMPSTREAM 中。

    CREATE OR REPLACE PUMP "SAMPLEPUMP" AS INSERT INTO "TEMPSTREAM" ("column1", "column2", "column3") SELECT STREAM inputcolumn1, inputcolumn2, inputcolumn3 FROM "INPUTSTREAM";

您可以讓多個寫入器插入應用程式內串流,而且可以從串流中選取多個讀取器。將應用程式內串流視為實作發佈/訂閱訊息範例。在此範例中,資料列 (包括建立時間和接收時間) 可以透過串流 SQL 陳述式的串聯處理、解譯和轉送,而不必儲存在傳統的 RDBMS 中。

建立應用程式內串流之後,您可以執行一般 SQL 查詢。

注意

當您查詢串流時,大多數 SQL 陳述式都會使用資料列或時間型窗口繫結。如需詳細資訊,請參閱 窗口化查詢

您也可以加入串流。如需加入串流的範例,請參閱 串流資料作業:串流聯結