EXP_AVG - Amazon Kinesis Data Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

EXP_AVG

EXP_AVG ( expression, <time-interval> )

EXP_AVG 返回在指定时间窗口内选择的值表达式的流的指数加权的平均值。EXP_AVG 基于 <time-interval> 的值将指定窗口分成若干个时间间隔。在最近的时间间隔中,指定表达式的值加权最大,而在较早的时间间隔中,指定表达式的值的权重指数较低。

示例

此示例创建了 30 秒窗口内每个股票代号价格的指数加权平均值,这样,最近 10 秒子窗口中的价格(该股票代号)的权重是中间的 10 秒子窗口中价格权重的两倍,是最早的 10 秒子窗口中价格权重的四倍。

select stream t.rowtime, ticker, price, exp_avg(price, INTERVAL '10' SECOND) over w as avgPrice from t window w as (partition by ticker range interval '30' second preceding);

在此示例中,10 秒是衰减函数的半衰期,即应用于平均价格的权重减少两倍的时间段。换句话说,较旧的重量将是新版本的一半。在调用 EXP_AVG 时,它被指定为 time_interval,间隔 '10' 秒。