从非常大的文本文件中删除重复的字符串

Shi*_*raj 15 c# string duplicates

我必须从极大的文本文件中删除重复的字符串(100 Gb +)

因为在内存中由于数据的大小,重复删除是没有希望的,所以我尝试过bloomfilter但是没有超出5000万字符串之类的东西.

总字符串就像1万亿+

我想知道解决这个问题的方法是什么..

我最初的尝试是,将文件分成子文件数,对每个文件进行排序,然后将所有文件合并在一起......

如果你有比这更好的解决方案,请告诉我,

谢谢..

Slu*_*art 3

您在这里寻找的关键概念是外部排序。您应该能够使用该文章中描述的技术对整个文件进行合并排序,然后按顺序运行它以删除重复项。

如果本文还不够清楚,请查看参考的实现,例如这篇文章