本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 3.3:添加实时分析(添加应用程序代码)
您可以针对应用程序内部流编写您自己的 SQL 查询,但在下一步中,您将使用一个提供示例代码的模板。
在应用程序中心页面上,选择 Go to SQL editor。
-
在 Would you like to start running "ExampleApp"? (是否要开始运行“ExampleApp”?) 对话框中,选择 Yes, start application (是,启动应用程序)。
控制台会发送启动应用程序(请参阅StartApplication)的请求,然后会显示 SQL 编辑器页面。
-
控制台将打开 SQL 编辑器页面。查看该页面,其中包含多个按钮(Add SQL from templates、Save and run SQL)和不同选项卡。
-
在 SQL 编辑器中,选择 Add SQL from templates。
从可用模板列表中,选择 Continuous filter。示例代码读取来自一个应用程序内部流的数据 (
WHERE
子句将筛选行),并将数据插入到另一个应用程序内部流,如下所示:-
它将创建应用程序内部流
DESTINATION_SQL_STREAM
。 -
它将创建泵
STREAM_PUMP
,并使用此泵从SOURCE_SQL_STREAM_001
中选择行,并将这些行插入到DESTINATION_SQL_STREAM
。
-
选择 Add this SQL to editor。
按如下方式测试应用程序代码:
请记住,您已启动应用程序(状态为 RUNNING)。因此,Amazon Kinesis Data Analytics 已在不断地读取流式传输源,并将行添加到应用程序内部流。
SOURCE_SQL_STREAM_001
.-
在 SQL 编辑器中,选择 Save and run SQL。控制台首先会发送保存应用程序代码的更新请求。然后,代码会持续执行。
-
您可以在 Real-time analytics 选项卡中查看结果。
SQL 编辑器包含以下选项卡:
-
Source data 选项卡显示映射到流式传输源的应用程序内部输入流。选择应用程序内部流,您可以看到数据不断传入。请注意应用程序内部输入流中未在输入配置中指定的其他列。其中包括以下时间戳列:
-
ROWTIME— 应用程序内部流中的每一行都具有一个名为的特殊列。
ROWTIME
. 此列是 Amazon Kinesis Data Analytics 在首个应用程序内流 (映射到流式源的应用程序内输入流) 中插入行的时间戳。 -
近似 _Arrival_Time— 每个 Kinesis Data Analytics 记录包含一个名为的值。
Approximate_Arrival_Time
. 此值是流式源成功接收和存储该记录时设置的大致到达时间戳。Kinesis Data Analytics 从流式传输源读取记录时,将该列提取到应用程序内部输入流中。
这些时间戳值在基于时间的窗口式查询中非常有用。有关更多信息,请参阅 窗口式查询。
-
-
Real-time analytics 选项卡显示应用程序代码创建的所有其他应用程序内部流。它还包含错误流。Kinesis Data Analytics 会将它无法处理的任何行发送到错误流。有关更多信息,请参阅 错误处理。
选择
DESTINATION_SQL_STREAM
可查看应用程序代码插入的行。请注意您的应用程序代码未创建的其他列。这些列包括ROWTIME
时间戳列。Kinesis Data Analytics 直接从源中复制这些值 (SOURCE_SQL_STREAM_001
)。 -
这些区域有:目的地选项卡显示 Kinesis Data Analytics 将查询结果写入到的外部目标。您尚未为应用程序输出配置任何外部目标。
-
-
下一个步骤