描述
State 组合器
可应用于 avg
函数,以生成 AggregateFunction(avg, T) 类型的中间状态,其中
T 是平均值的指定类型。
示例用法
AggregateFunction 类型与 avgState 函数来聚合网站流量数据。
首先为网站流量数据创建源表:
avg 无法使用 SimpleAggregateFunction 类型,因为它需要复杂状态 (包含求和值与计数值) 。因此,我们使用 AggregateFunction 类型:
page_performance:
avg_response_time 列的类型为 AggregateFunction(avg, UInt32),存储的是中间状态信息。另外请注意,avg_response_time 的行数据对我们而言没有实际意义,显示的是诸如 \uFFFD, n, F, } 之类的乱码字符。这是终端尝试将二进制数据以文本形式呈现的结果。根本原因在于,AggregateFunction 类型以二进制格式存储其状态,该格式针对高效存储与计算进行了优化,而非为人类可读性而设计。这一二进制状态包含了计算平均值所需的全部信息。
要使用它,请使用 Merge 组合器: