为什么data.fu将HyperLogLog实现为累加器而不是代数?

时间:2015-03-06 21:45:37

标签: mapreduce apache-pig cardinality hyperloglog

data.fu有一个很好的HyperLogLog实现,用于估算基数here

但是,它实现为Accumulator,这意味着它只能在reducer而不是在combiner中运行(但它永远不会像普通EvalFunc一样将整个集合加载到内存中)。为什么data.fu不能将它实现为Algebraic - 并填充每个组合器的寄存器,然后合并并减少结果? 我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

已在1.3.0中修复,现在确实使用了service stop sendmail 。 见https://issues.apache.org/jira/browse/DATAFU-91

详细了解如何将任务从10分钟改善为2分钟:https://docs.google.com/spreadsheets/d/1oVYSCh22kufgQ49pgsuboKOMxDgz8N5yBtRpxuo69Lk/edit#gid=0