我是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类。
发布于 2015-09-23 05:52:48
HyperLogLog算法的唯一参数是存储桶的数量m,其中m = 2 ^ b。HyperLogLogMonoid由val bits: Int参数化,相当于原始论文中的参数b。
https://stackoverflow.com/questions/32727376
复制相似问题