我必须从非常大的文本文件 (100 Gb+) 中删除重复的字符串
由于数据的大小,在内存中删除重复项是没有希望的,我已经尝试过 bloomfilter 但没有用超过 5000 万个字符串..
字符串总数超过 1 万亿
我想知道有什么方法可以解决这个问题..
我最初的尝试是,将文件分成多个子文件,对每个文件进行排序,然后将所有文件合并在一起...
如果您有比这更好的解决方案,请告诉我,
谢谢..
最佳答案
您在这里寻找的关键概念是 external sorting .您应该能够使用该文章中描述的技术对整个文件进行合并排序,然后按顺序运行它以删除重复项。
如果文章不够清楚,请查看引用实现,例如 this one .
关于c# - 从非常大的文本文件中删除重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816201/