TOP_K_ITEMS_TUMBLING 函数 - Amazon Kinesis Data Analytics

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

TOP_K_ITEMS_TUMBLING 函数

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

例如,入门练习使用演示流,提供持续的股票价格更新(ticker_symbol、价格、变化和其他列)。假设你想在每1分钟的下跌窗口中找到三只交易最频繁的股票。你可以使用这个函数来查找那些股票代码。

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

  • 对流媒体源上的每条传入记录进行计数效率不高,因此该函数近似于最常出现的值。例如,在寻找交易量最大的三只股票时,该函数可能会返回五只交易量最大的股票中的三只。

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

step-by-step 有关带有说明的示例应用程序,请参阅最常出现的值

语法

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

参数

以下部分介绍这些参数。

in-application-stream

指针 您可以使用 CURSOR 函数设置指针。例如,以下语句将把针 InputStream。

CURSOR(SELECT STREAM * FROM InputStream)

columnName

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

注意

列名必须出现在单引号 (') 中。例如,'column1'

K

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

窗口大小

翻TOAD 语句将以秒为单位的大小。大小必须大于或等于 1 秒,且不得超过 3600 秒 (1 小时)。

示例

示例数据集

以下示例基于样本库存数据集,该数据集是 Amazon Kinesis Analytics 开发人员指南入门的一部分。要运行每个示例,您需要一个包含样本股票行情输入流的 Amazon Kinesis 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 ) );

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

Table showing data stream with columns for timestamp, ticker symbol, and frequency values.