TOP_K_ITEMS_TUMBLING 函数 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

TOP_K_ITEMS_TUMBLING 函数

返回在指定的应用程序内流列中在滚动窗口内最常出现的值。这可用于在指定列中查找趋势 (最流行) 值。

例如,入门练习使用了一个演示流,该流提供连续的股票价格更新 (股票代码、价格、变化和其他列)。假设您在要在每个 1 分钟的滚动窗口内查找 3 支交易最频繁的股票。您可以使用此函数查找这些股票代码。

在使用 TOP_K_ITEMS_TUMBLING 时,请注意以下事项:

  • 由于对流源上的每个传入记录进行计数的效率不高,因此此函数会估计最常出现的值。例如,当寻找 3 只交易最频繁的股票时,此函数可能返回 5 只最频繁的股票中的 3 只。

此函数在一个滚动窗口内运行。您将窗口大小指定为参数。

有关分步指导的示例应用程序,请参阅最常出现的值

语法

TOP_K_ITEMS_TUMBLING ( in-application-streamPointer, 'columnName',      K, windowSize, )

参数

以下部分介绍参数。

in-application-streamPointer

指向应用程序内流的指针。您可以使用 CURSOR 函数设置指针。例如,以下语句将设置一个指向 InputStream 的指针。

CURSOR(SELECT STREAM * FROM InputStream)

columnName

您的应用程序内流中的可用来计算 topK 值的列名称。请注意有关列名称的以下要点:

注意

列名称必须用单引号 (') 括起。例如:'column1'

K

利用此参数,您可以指定希望从特定列返回的最常出现的值的数量。值 K 必须大于或等于 1 且不能超过 100000。

windowSize

滚动窗口的大小 (以秒为单位)。大小必须大于或等于 1 秒,且不得超过 3600 秒 (1 小时)。

示例

示例数据集

以下示例基于示例股票数据集,后者是《Amazon Kinesis Analytics 开发人员指南》 中的入门的一部分。要运行每个示例,您需要具有示例股票代码输入流的 Amazon Kinesis Analytics 应用程序。要了解如何创建 Analytics 应用程序和配置示例股票代码输入流,请参阅《Amazon Kinesis Analytics 开发人员指南》 中的入门

具有以下架构的示例股票数据集。

(ticker_symbol VARCHAR(4), sector VARCHAR(16), change REAL, price REAL)

示例 1:返回最常出现的值

以下示例在入门教程中创建的示例流中检索最常出现的值。

CREATE OR REPLACE STREAM DESTINATION_SQL_STREAM ( "TICKER_SYMBOL" VARCHAR(4), "MOST_FREQUENT_VALUES" BIGINT ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM * FROM TABLE (TOP_K_ITEMS_TUMBLING( CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001"), 'TICKER_SYMBOL', -- name of column in single quotes 5, -- number of the most frequently occurring values 60 -- tumbling window size in seconds ) );

上一示例输出的流与以下内容类似。