合并uniq计数器,概率数据结构

时间:2017-01-26 15:27:13

标签: data-structures probability cardinality hyperloglog

有两组1 2 33 4,其中包含32个唯一项目。

现在让我们计算合并集中的唯一项目。如果我们只是总结计数器3 + 2 = 5那就错了(它应该是uniq(1 2 3 3 4) = 4)。

有没有办法只使用计数器?对于每个计数器,可以使用一些代表原始集合的常量内存数据结构,小错误也可以,让我们说95%准确度还可以。

我知道有一些概率独特的计数器使用很少的内存(HyperLogLog)。但有没有办法合并两个这样的概率计数器?

1 个答案:

答案 0 :(得分:1)

是的,HyperLogLog实际上允许很自然地合并,并且大多数实现包括合并。简而言之,要将两个HyperLogLog结构A和B合并为一个新的C,请取每个桶对的最大值C [i] = max(A [i],B [i])。