在大型事实表连接增量事实表的问题上,我知道Bloom Filter是减少No的很好选择。brickhouse的Bloom UDF很少,但是很少有Bloom UDF实现,只有我能找到的是brickhouse的bloom UDF,而且使用起来不是很充分,你需要先读取小表并将bloom数据加载到本地目录中,以便以后使用。那么,有没有更好的Bloom Filter UDF实现,我可以直接在Hive中使用(只需上传JAR)?谢谢。
发布于 2021-06-29 23:13:33
在这几天里,我发现了两个具有Bloomfilter UDF功能的存储库,一个是Hivemall,它主要用于机器学习,另一个是Brickhouse。然而,他们两个都不能解决我的问题。对于Brickhouse的Bloomfilter UDAF,它要求您将临时bloom结果存储在本地目录中,以便以后使用,但当bloom结果足够大时,它会填满本地服务器的内存,并导致本机中的hiveserver关闭。Hivemall是一个,它适用于小的数据集,但是当数据集变得很大时,比如数百万个唯一id,它会抛出异常,仍然找不到原因,但看起来它不能处理长字符串id(长度从40到50),并且不能处理其数据结构中的数百万个id。这很奇怪,因为两个UDF数据结构都是字节数组,应该支持无限数量的id。
https://stackoverflow.com/questions/67776801
复制相似问题