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

inkz8wg9  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(367)

fu有一个很好的hyperloglog实现来估计基数
但是,它的实现方式是 Accumulator 这意味着它将只在减速机上运行,而不会在组合器中运行(但它永远不会像正常情况那样将整个集合加载到内存中) EvalFunc ). 为什么data.fu不能实现为 Algebraic -并填充每个合并器的寄存器,然后合并并减少结果?我是不是漏了什么?

yx2lnoni

yx2lnoni1#

在1.3.0中修复,现在它确实使用 Algebraic . 看到了吗https://issues.apache.org/jira/browse/datafu-91
请参阅如何将任务从10分钟改进为2分钟的详细信息:https://docs.google.com/spreadsheets/d/1ovysch22kufgq49pgsubokomxdgz8n5ybtrpxuo69lk/edit#gid=0

相关问题