本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
例如:探索应用程序内部错误流
Amazon Kinesis Data Analytics 为您创建的每个应用程序都提供应用程序内部错误流。应用程序无法处理的所有行将发送到此错误流。您可以考虑将错误流数据保存到外部目标以便于调查。
您将在控制台中执行以下练习。在这些示例中,您将通过编辑由发现过程推断的架构将错误引入输入配置中,然后验证已发送到错误流的行。
引入分析错误
在本练习中,您引入了分析错误。
-
按照 Kinesis 数据分析中的描述创建 Kinesis Data Analytics 应用程序开始使用练习。
-
在应用程序详细信息页面上,选择 Connect streaming data (连接流数据)。
-
如果已完成入门练习,则账户中会有一个演示流 (
kinesis-analytics-demo-stream
)。在 Connect to source (连接到源) 页面上,选择此演示流。 -
Kinesis Data Analytics 会使用演示流中的示例来推断其创建的应用程序内部输入流的架构。控制台在 Formatted stream sample 选项卡中显示推断的架构和示例数据。
-
接下来,可以编辑架构并修改列类型以引入分析错误。选择 Edit schema。
-
将
TICKER_SYMBOL
列类型从VARCHAR(4)
更改为INTEGER
。现在,创建的应用程序内部架构中的列类型无效,因此 Kinesis Data Analytics 无法将数据引入应用程序内部流。而只能将行发送到错误流。
-
选择 Save schema。
-
选择 Refresh schema samples。
请注意,Formatted stream 示例中没有行。不过,Error stream 选项卡将显示数据与错误消息。Error stream 选项卡将显示已发送到应用程序内部错误流的数据。
因为已更改列数据类型,所以 Kinesis Data Analytics 无法将数据引入应用程序内部输入流。而只能将数据发送到错误流。
引入被零除错误
在本练习中,您将更新应用程序代码以引入运行时错误 (被零除)。请注意,Amazon Kinesis Data Analytics 会将结果行发送到应用程序内部错误流,而不是发送到DESTINATION_SQL_STREAM
要将结果写入到的应用程序内部流。
-
按照 Kinesis 数据分析中的描述创建 Kinesis Data Analytics 应用程序开始使用练习。
验证 Real-time analytics 选项卡上的结果,如下所示:
Sour
-
在应用程序代码中更新
SELECT
语句以引入被零除;例如:SELECT STREAM ticker_symbol, sector, change, (price / 0) as ProblemColumn FROM "SOURCE_SQL_STREAM_001" WHERE sector SIMILAR TO '%TECH%';
-
运行应用程序。
因为出现被零除运行时错误,所以所以不是将结果写入
DESTINATION_SQL_STREAM
,Kinesis Data Analytics 会将行发送到应用程序内部错误流。在 Real-time analytics (实时分析) 选项卡上,选择错误流,随后应用程序内部错误流中将显示行。