步骤 2. 创建应用程序 - Amazon Kinesis Data Analytics for SQL 应用程序开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

步骤 2. 创建应用程序

在本部分中,您按如下方式创建 Amazon Kinesis Data Analytics 应用程序:

  • 配置应用程序输入以将在步骤 1. 准备中创建的 Kinesis 数据流作为流式传输源。

  • 在控制台上使用 Anomaly Detection (异常检测) 模板。

创建应用程序

  1. 按照 Kinesis Data Analytics 入门练习中的步骤 1、2 和 3(请参阅 步骤3.1: 创建应用程序)。

    • 在源配置中,执行以下操作:

      • 指定您在上一部分中创建的流式传输源。

      • 在控制台推断架构后,编辑架构并将 heartRate 列类型设置为 INTEGER.

        大多数心率值是正常的,发现过程最有可能将 TINYINT 类型分配给此列。但有小部分值显示了高心率。如果这些较高的值不适合 TINYINT 类型,则 Kinesis Data Analytics 将这些行发送到错误流。将数据类型更新为 INTEGER,以便能适合所有生成的心率数据。

    • 在控制台上使用 Anomaly Detection (异常检测) 模板。随后,您更新模板代码以提供适当的列名称。

  2. 通过提供列名称来更新应用程序代码。下面显示了生成的应用程序代码 (将此代码粘贴到 SQL 编辑器中):

    --Creates a temporary stream. CREATE OR REPLACE STREAM "TEMP_STREAM" ( "heartRate" INTEGER, "rateType" varchar(20), "ANOMALY_SCORE" DOUBLE); --Creates another stream for application output. CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "heartRate" INTEGER, "rateType" varchar(20), "ANOMALY_SCORE" DOUBLE); -- Compute an anomaly score for each record in the input stream -- using Random Cut Forest CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "TEMP_STREAM" SELECT STREAM "heartRate", "rateType", ANOMALY_SCORE FROM TABLE(RANDOM_CUT_FOREST( CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001"))); -- Sort records by descending anomaly score, insert into output stream CREATE OR REPLACE PUMP "OUTPUT_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM * FROM "TEMP_STREAM" ORDER BY FLOOR("TEMP_STREAM".ROWTIME TO SECOND), ANOMALY_SCORE DESC;
  3. 运行 SQL 代码并在 Kinesis Data Analytics 控制台中检查结果:

    
                            控制台屏幕截图,显示 Real-time analytics (实时分析) 选项卡以及应用程序内部流中的结果数据。

下一步

步骤 3 配置应用程序输出