持續查詢 - 亞馬遜 Kinesis SQL 應用程式資料分析開發人員指南

對於新專案,我們建議您使用適用於 Apache Flink Studio 的全新受管理服務,取代適用於應用程式的 Kinesis Data Analytics。SQLManaged Service for Apache Flink Studio 易於使用且具備進階分析功能,讓您在幾分鐘內建置複雜的串流處理應用程式。

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

持續查詢

串流上的查詢會透過串流資料持續執行。這種持續執行可啟用案例,例如應用程式能夠持續查詢串流並產生提醒。

在入門練習中,您有一個名為 SOURCE_SQL_STREAM_001 的應用程式內串流。它會持續從示範串流 (Kinesis 資料串流) 接收股票價格。結構描述如下:

(TICKER_SYMBOL VARCHAR(4), SECTOR varchar(16), CHANGE REAL, PRICE REAL)

假設您對超過 15% 的股票價格變動感興趣。您可以在應用程式碼中使用下列查詢。此查詢會持續執行,並在偵測到股票價格變動大於 15% 時發出記錄。

SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15

使用下列程序來設定 Amazon Kinesis Data Analytics 應用程式,並測試此查詢。

若要測試查詢
  1. 按照入門練習建立應用程式。

  2. 用上述 SELECT 查詢取代應用程式碼中的 SELECT 陳述式。產生的應用程式碼如下所示:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), price DOUBLE); -- CREATE OR REPLACE PUMP to insert into output CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15;