连续查询 - 适用于 Amazon Kinesis Data Analytics·for·SQL 应用程序开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

对于新项目,建议您使用新的适用于 Apache Flink Studio 的托管服务,而不是使用 Kinesis Data Analytics for SQL 应用程序。Managed 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;