【发布时间】:2016-02-18 18:43:09
【问题描述】:
为了按主题划分 RDF 三元组,我使用主题的 String.hashCode() 并将三元组放在相应的分区中。目标是能够处理内存中的分区文件(可能无法处理大文件)。
现在为了限制分区数量,我执行以下操作。假设我们想要有 10 个分区,在一个大的 RDF 文件中:
String subject;
partitionFileName = subject.hashCode / (Integer.MAX_VALUE/10)
因此,所有具有相同主题的三元组都将在一个分区中,我们总共将有 10 个分区。
现在的问题是,当三元组具有不同的分布时,可能会导致不希望出现的非常大或非常小的分区。
有人有什么建议吗?
提前谢谢你。
【问题讨论】:
-
subject.hashCode() % 10? -
Esoteric 的回答很好,但这里读起来不错:github.com/gholt/ring/blob/master/BASIC_HASH_RING.md
标签: java hash rdf hashcode triples