连续查询 - 适用于 Amazon Kinesis Data Analytics·for·SQL 应用程序开发人员指南

对于新项目,建议您使用新的适用于 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;