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

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 秒为衰减函数的半衰期,也就是说,在这段时间内,应用于被平均化的价格的权重将减小 1/2。换句话说,较早的价格将获得较晚的价格的权重的一半。它在调用中被指定为 EXP_AVG 的 time_interval,即“10”秒的时间间隔。