use*_*ame 3 c algorithm hash memory-management bigdata
我有一个大文件(比如10TB)和MD5哈希流(包含重复项),我有一个10MB(非常有限)的内存和无限的硬盘空间.使用给定条件查找所有唯一哈希(消除重复).请帮忙,这显然不是一个功课问题
您可以使用外部排序算法(例如,使用多阶段合并排序)对哈希值进行排序,之后您只需要遍历文件并跳过等于最新哈希值的任何哈希值
hash mostRecentHash;
while(fileHasHashes) {
temp = fileWithDuplicates.readHash();
if(!hashesAreEqual(mostRecentHash, temp)) {
mostRecentHash = temp;
fileWithoutDuplicates.writeHash(mostRecentHash);
}
}
Run Code Online (Sandbox Code Playgroud)