0

我是 HyperLogLog 和 Scala 的新手,我正在尝试使用 Twitter Algebird 的 HyperLogLog 实现 - https://github.com/twitter/algebird/blob/develop/algebird-core/src/main/scala/com/twitter/algebird /HyperLogLog.scala

在 HyperLogLog 的其他实现中(例如 Postgres https://github.com/aggregateknowledge/postgresql-hll的这个),我可以使用存储桶的数量(使用 log2m)以及基于寄存器的宽度来调整算法关于我预期的肉欲和准确性要求。

我无法理解这些值是如何在 Algebird 实现中使用/计算的。具体来说,我正在使用该HyperLogLogMonoid课程。

4

1 回答 1

0

HyperLogLog 算法的唯一参数是桶数m,其中m = 2 ^ b。由HyperLogLogMonoid参数化,这与原始论文val bits: Int中的参数等效。b

于 2015-09-22T21:52:48.013 回答