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

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

应用程序代码

应用程序代码是处理输入和生产输出的一系列 SQL 语句。这些 SQL 语句运行于应用程序内部流和引用表中。有关更多信息,请参阅 适用于 SQL 应用程序的 Amazon Kinesis Data Analytics :工作方式。)

有关 Kinesis Data Analytics 支持的 SQL 语言元素的信息,请参阅 Amazon Kinesis Data Analytics SQL 参考

在关系数据库中,可使用 INSERT 语句添加记录和使用 SELECT 语句查询数据来处理表。在 Amazon Kinesis Data Analytics 中,您可以处理流。可以编写 SQL 语句来查询这些流。查询一个应用程序内部流所获得的结果始终将发送到另一个应用程序内部流. 在执行复杂分析时,您可以创建多个应用程序内部流来保存中间分析的结果。最后,将应用程序输出配置为将最终分析的结果(来自一个或多个应用程序内部流)保存到外部目标。概括来说,以下是用于编写应用程序代码的典型模式:

  • SELECT 语句始终用于 INSERT 语句的上下文中。即,在选择行时,您将结果插入另一个应用程序内部流中。

  • INSERT 语句始终用于数据泵的上下文中。即,您使用数据泵对应用程序内部流进行写入。

以下示例应用程序代码读取一个应用程序内部流 (SOURCE_SQL_STREAM_001) 中的记录,并将其写入另一个应用程序内部流 (DESTINATION_SQL_STREAM)。您可以使用数据泵将记录插入应用程序内部流中,如下所示:

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), change DOUBLE, price DOUBLE); -- Create a pump and insert into output stream. CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, change,price FROM "SOURCE_SQL_STREAM_001";
注意

为流名称和列名称指定的标识符需遵循标准 SQL 约定。例如,如果您为标识符加上引号,则可使标识符区分大小写。如果没有这样做,则标识符将默认为大写。有关标识符的更多信息,请参阅 https://docs.amazonaws.cn/kinesisanalytics/latest/sqlref/sql-reference-identifiers.html 中的Amazon Kinesis Data Analytics SQL 参考标识符

您的应用程序代码可包含多个 SQL 语句。例如:。

  • 您可以按顺序编写 SQL 查询,其中一个 SQL 语句的结果将馈送到下一个 SQL 语句。

  • 您也可以编写彼此单独运行的 SQL 查询。例如,您可以编写两个 SQL 语句,它们查询同一应用程序内部流,但将输出发送到不同的应用程序内部流。随后,您可以单独查询新创建的应用程序内部流。

您可以创建应用程序内部流来保存中间结果。可使用数据泵将数据插入应用程序内部流。有关更多信息,请参阅 应用程序内部流和数据泵。)

如果您添加一个应用程序内部引用表,则可编写 SQL 以联接应用程序内部流和引用表中的数据。有关更多信息,请参阅 示例:将参考数据添加到A Kinesis Data Analytics 应用。)

根据应用程序的输出配置,Amazon Kinesis Data Analytics 将特定应用程序内部流中的数据写入到外部目标中。确保您的应用程序代码写入输出配置中指定的应用程序内部流。

有关更多信息,请参阅以下主题: