经过仔细考虑,我们决定分两个步骤停止使用亚马逊 Kinesis Data Analytics SQL 的应用程序:
1. 从 2025 年 10 月 15 日起,您将无法为应用程序创建新的 Kinesis Data Analytic SQL s。
2. 从 2026 年 1 月 27 日起,我们将删除您的应用程序。您将无法启动或操作适用于应用程序的 Amazon Kinesis Data Analytic SQL s。从那时起,亚马逊 Kinesis Data Analytics SQL 将不再提供支持。有关更多信息,请参阅 适用于应用程序的 Amazon Kinesis Data Analytic SQL s 停产。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例:创建受限警报
在此 Kinesis Data Analytics 应用程序中,将在通过演示流创建的应用程序内部流上持续运行查询。有关更多信息,请参阅 连续查询。如果任何行显示股票价格变动大于 1%,这些行将被插入另一个应用程序内部流中。应用程序会限制警报,以便在股票价格变化时立即发送警报。但每个股票代号每分钟向应用程序内部流发送的警报不超过一个。
创建受限警报应用程序
创建一个 Kinesis Data Analytics 应用程序,如 Kinesis Data Analytics 入门练习中所述。
在 Kinesis Data Analytics 上的 SQL 编辑器中,将应用程序代码替换为以下内容:
CREATE OR REPLACE STREAM "CHANGE_STREAM" (ticker_symbol VARCHAR(4), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "change_pump" AS INSERT INTO "CHANGE_STREAM" SELECT STREAM ticker_symbol, sector, change, price FROM "SOURCE_SQL_STREAM_001" WHERE (ABS(Change / (Price - Change)) * 100) > 1; -- ** Trigger Count and Limit ** -- Counts "triggers" or those values that evaluated true against the previous where clause -- Then provides its own limit on the number of triggers per hour per ticker symbol to what -- is specified in the WHERE clause CREATE OR REPLACE STREAM TRIGGER_COUNT_STREAM ( ticker_symbol VARCHAR(4), change REAL, trigger_count INTEGER); CREATE OR REPLACE PUMP trigger_count_pump AS INSERT INTO TRIGGER_COUNT_STREAM SELECT STREAM ticker_symbol, change, trigger_count FROM ( SELECT STREAM ticker_symbol, change, COUNT(*) OVER W1 as trigger_count FROM "CHANGE_STREAM" --window to perform aggregations over last minute to keep track of triggers WINDOW W1 AS (PARTITION BY ticker_symbol RANGE INTERVAL '1' MINUTE PRECEDING) ) WHERE trigger_count >= 1;
应用程序代码中的
SELECT
语句将在SOURCE_SQL_STREAM_001
中筛选出显示股票价格更改大于 1% 的行,并使用数据泵将这些行插入另一个应用程序内部流CHANGE_STREAM
。然后,应用程序为受限警报创建第二个名为
TRIGGER_COUNT_STREAM
的流。第二个查询从一个窗口中选择记录,每次记录被允许进入该窗口时,该窗口都向前跳,以便每个股票报价每分钟只有一个记录被写入到流中。-
选择 保存并运行 SQL。
该示例将流输出到与以下内容类似的 TRIGGER_COUNT_STREAM
: