示例:探索应用程序内部错误流 - 适用于 SQL 应用程序的 Amazon Kinesis Data Analytics 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

对于新项目,建议您使用新的适用于 Apache Flink Studio 的托管服务,而不是使用适用于 SQL 应用程序的 Kinesis Data Analytics。Managed Service for Apache Flink Studio 不仅操作简单,还具有高级分析功能,使您能够在几分钟内构建复杂的流处理应用程序。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例:探索应用程序内部错误流

Amazon Kinesis Data Analytics 为您创建的每个应用程序提供一个应用程序内部错误流。应用程序无法处理的所有行将发送到此错误流。您可以考虑将错误流数据保存到外部目标以便于调查。

您将在控制台中执行以下练习。在这些示例中,您将通过编辑由发现过程推断的架构将错误引入输入配置中,然后验证已发送到错误流的行。

引入分析错误

在本练习中,您引入了分析错误。

  1. 创建一个 Kinesis Data Analytics 应用程序,如 Kinesis Data Analytics 入门练习中所述。

  2. 在应用程序详细信息页面上,选择 连接流数据

  3. 如果已完成入门练习,则账户中会有一个演示流 (kinesis-analytics-demo-stream)。在 Connect to source (连接到源) 页面上,选择此演示流。

  4. Kinesis Data Analytics 使用演示流中的示例推断它创建的应用程序内部输入流的架构。控制台在 Formatted stream sample 选项卡中显示推断的架构和示例数据。

  5. 接下来,可以编辑架构并修改列类型以引入分析错误。选择 Edit schema

  6. TICKER_SYMBOL 列类型从 VARCHAR(4) 更改为 INTEGER

    由于创建的应用程序内部架构中的列类型无效,Kinesis Data Analytics 无法将数据添加到应用程序内部流中。而只能将行发送到错误流。

  7. 选择 Save schema

  8. 选择 Refresh schema samples

    请注意,Formatted stream 示例中没有行。不过,Error stream 选项卡将显示数据与错误消息。Error stream 选项卡将显示已发送到应用程序内部错误流的数据。

    由于已更改列数据类型,Kinesis Data Analytics 无法将数据添加到应用程序内部输入流中。而只能将数据发送到错误流。

引入被零除错误

在本练习中,您将更新应用程序代码以引入运行时错误 (被零除)。请注意,Amazon Kinesis Data Analytics 将结果行发送到应用程序内部错误流,而不是发送到要将结果写入到的 DESTINATION_SQL_STREAM 应用程序内部错误流。

  1. 创建一个 Kinesis Data Analytics 应用程序,如 Kinesis Data Analytics 入门练习中所述。

    验证 Real-time analytics 选项卡上的结果,如下所示:

    Sour

  2. 在应用程序代码中更新 SELECT 语句以引入被零除;例如:

    SELECT STREAM ticker_symbol, sector, change, (price / 0) as ProblemColumn FROM "SOURCE_SQL_STREAM_001" WHERE sector SIMILAR TO '%TECH%';

  3. 运行应用程序。

    由于出现被零除运行时错误,Kinesis Data Analytics 将行发送到应用程序内部错误流,而不是将结果写入到 DESTINATION_SQL_STREAM 中。在 Real-time analytics (实时分析) 选项卡上,选择错误流,随后应用程序内部错误流中将显示行。