【发布时间】:2016-08-22 19:01:54
【问题描述】:
我在 postgresql 数据库中存储了 30 亿个字符串。我想制作一个频率图,这样我就可以丢弃出现次数少于 100 次或多于 100,000 次的字符串。我应该使用什么样的数据结构?我在想某种布隆过滤器。
【问题讨论】:
标签: string word-frequency bloom-filter
我在 postgresql 数据库中存储了 30 亿个字符串。我想制作一个频率图,这样我就可以丢弃出现次数少于 100 次或多于 100,000 次的字符串。我应该使用什么样的数据结构?我在想某种布隆过滤器。
【问题讨论】:
标签: string word-frequency bloom-filter
您可以使用 HyperLogLog,它可以让您估计具有较小内存占用的多重集的基数。
这是一个example,它使用了一个 java-hll,一个 HyperLogLog 的 java 实现。如果 java 不适合你,你可以在 github 上搜索其他语言的实现。
或者,您可以使用standalone implementation。
【讨论】: