跳到主要内容
跳到主要内容

uniqHLL12

使用 HyperLogLog 算法计算不同参数取值的近似个数。

uniqHLL12(x[, ...])

参数

该函数接受可变数量的参数。参数可以是 TupleArrayDateDateTimeString 或数值类型。

返回值

  • 一个 UInt64 类型的数值。

实现细节

函数:

  • 对聚合中的所有参数计算哈希值,并在后续计算中使用该哈希值。

  • 使用 HyperLogLog 算法来估算不同参数取值的数量。

    使用 2^12 个 5 位单元。状态大小略大于 2.5 KB。对于小数据集(<10K 个元素),结果精度不高(误差可达约 10%)。但对于高基数数据集(10K-100M),结果相当准确,最大误差约为 1.6%。从 100M 开始,估算误差会增大;对于基数极高的数据集(1B+ 个元素),函数将返回非常不准确的结果。

  • 提供确定性结果(不依赖于查询处理顺序)。

不建议使用此函数。在大多数情况下,应使用 uniquniqCombined 函数。

另请参阅