为什么 data.fu 将 HyperLogLog 实现为累加器而不是代数?
why is data.fu implementing HyperLogLog as an accumulator and not as algebraic?
data.fu 有一个很好的 HyperLogLog 实现来估计基数 here
然而,它被实现为 Accumulator
这意味着它将 运行 仅在减速器中而不是在组合器中(但它永远不会像正常情况下那样将整个集合加载到内存中 EvalFunc
).为什么 data.fu 不能将其实现为 Algebraic
- 并在每个组合器处填充寄存器,然后合并并减少结果?
我在这里遗漏了什么吗?
已在 1.3.0 中修复,现在可以使用 Algebraic
。
参见 https://issues.apache.org/jira/browse/DATAFU-91
查看如何将任务从 10 分钟缩短到 2 分钟的详细信息:https://docs.google.com/spreadsheets/d/1oVYSCh22kufgQ49pgsuboKOMxDgz8N5yBtRpxuo69Lk/edit#gid=0
data.fu 有一个很好的 HyperLogLog 实现来估计基数 here
然而,它被实现为 Accumulator
这意味着它将 运行 仅在减速器中而不是在组合器中(但它永远不会像正常情况下那样将整个集合加载到内存中 EvalFunc
).为什么 data.fu 不能将其实现为 Algebraic
- 并在每个组合器处填充寄存器,然后合并并减少结果?
我在这里遗漏了什么吗?
已在 1.3.0 中修复,现在可以使用 Algebraic
。
参见 https://issues.apache.org/jira/browse/DATAFU-91
查看如何将任务从 10 分钟缩短到 2 分钟的详细信息:https://docs.google.com/spreadsheets/d/1oVYSCh22kufgQ49pgsuboKOMxDgz8N5yBtRpxuo69Lk/edit#gid=0