对于按主题划分 RDF 三元组,我使用主题的 String.hashCode() 并将三元组放在相应的分区中。目标是能够处理内存中的分区文件(可能无法处理大文件)。
现在为了限制分区数量,我执行以下操作。假设我们想要有 10 个分区,在一个大的 RDF 文件中:
String subject;
partitionFileName = subject.hashCode / (Integer.MAX_VALUE/10)
因此,所有具有相同主题的三元组都将在一个分区中,总体上我们将有 10 个分区。
现在的问题是,当三元组具有不同的分布时,可能会导致不希望出现的非常大或非常小的分区。
有人有什么建议吗?
先感谢您。