quantilesTDigestWeighted
quantileTDigestWeighted,但支持在一次遍历中计算多个分位数级别,因此比逐个调用分位数函数更高效。
最大误差为 1%。内存消耗为 log(n),其中 n 是值的数量。
该函数的性能低于 quantiles 和 quantilesTiming。
但从状态大小与精度的比率来看,此函数明显优于 quantiles。
结果取决于查询的运行顺序,因此是非确定性的。
不建议将
quantilesTDigestWeighted 用于很小的数据集,否则可能会产生显著误差。
在这种情况下,可以考虑改用 quantilesTDigest。level— 分位数的级别。一个或多个介于 0 到 1 之间的常量浮点数。建议将level的值设在[0.01, 0.99]范围内。Float*
expr— 基于列值计算的表达式,结果类型为数值数据类型、Date或DateTime。(U)Int*或Float*或Date或DateTimeweight— 包含序列中各元素权重的列。权重表示某个值出现的次数。UInt*
Date 和 DateTime 输入,输出格式与输入格式一致。Array(Float32) 或 Array(Date) 或 Array(DateTime)
示例
使用 t-digest 计算多个加权分位数
Query
Response