uniqHLL12
使用 HyperLogLog 算法计算不同参数取值的近似个数。
参数
该函数接受可变数量的参数。参数可以是 Tuple、Array、Date、DateTime、String 或数值类型。
返回值
- 一个 UInt64 类型的数值。
实现细节
函数:
-
对聚合中的所有参数计算哈希值,并在后续计算中使用该哈希值。
-
使用 HyperLogLog 算法来估算不同参数取值的数量。
使用 2^12 个 5 位单元。状态大小略大于 2.5 KB。对于小数据集(<10K 个元素),结果精度不高(误差可达约 10%)。但对于高基数数据集(10K-100M),结果相当准确,最大误差约为 1.6%。从 100M 开始,估算误差会增大;对于基数极高的数据集(1B+ 个元素),函数将返回非常不准确的结果。
-
提供确定性结果(不依赖于查询处理顺序)。
不建议使用此函数。在大多数情况下,应使用 uniq 或 uniqCombined 函数。
另请参阅