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

uniqHLL12

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

uniqHLL12(x[, ...])

参数

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

返回值

  • 一个 UInt64 类型的数字。

实现细节

函数:

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

  • 使用 HyperLogLog 算法来近似计算不同参数值的数量。

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

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

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

另请参阅