这是个虚拟的问题,假设我有一个TXT文件,里面有10亿个QQ号(一行一条),其中可能有千万级别重复的号码,如何最快的去重呢?
我没试过这么大的量,楼主也没虚拟使用场景,所以我也虚拟一个答案
我会开一台oracle之类实例,设置唯一键,然后把这些QQ号导入进db,db报错的就是重复的,忽略错误继续跑
如果oracle也吃不消(我也不知道吃不吃得消),就切片,导入100张表,单表1000万行绝对吃得消,利用db排序后导出,再和其他文件拼合继续导入。
按位表示QQ号是否存在,如果QQ号最多为10位数字,那最多也就需要1000+MB的内存,怎么算都够了
顺序处理太慢的话可以用多台机器对文件分块处理,最后把处理结果按位取或就行
存进一个Map,然后遍历。
利用Map不存在相同key的特性。