如何对10亿个QQ号进行去重?

发布于 2022-09-04 17:36:52 字数 69 浏览 38 评论 0

这是个虚拟的问题,假设我有一个TXT文件,里面有10亿个QQ号(一行一条),其中可能有千万级别重复的号码,如何最快的去重呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

怪我闹别瞎闹 2022-09-11 17:36:53

存进一个Map,然后遍历。
利用Map不存在相同key的特性。

夜无邪 2022-09-11 17:36:53

内存够就很简单了,分段、多线程、Map。

夏九 2022-09-11 17:36:53

我没试过这么大的量,楼主也没虚拟使用场景,所以我也虚拟一个答案

我会开一台oracle之类实例,设置唯一键,然后把这些QQ号导入进db,db报错的就是重复的,忽略错误继续跑

如果oracle也吃不消(我也不知道吃不吃得消),就切片,导入100张表,单表1000万行绝对吃得消,利用db排序后导出,再和其他文件拼合继续导入。

∞觅青森が 2022-09-11 17:36:53

mapreduce

半枫 2022-09-11 17:36:53

用位表示数
例如, 号码 {1,2,3,5,8,13} 可以表示为:0-1-1-1-0-1-0-0-1-0-0-0-0-1,先放入,然后读出

北凤男飞 2022-09-11 17:36:53

按位表示QQ号是否存在,如果QQ号最多为10位数字,那最多也就需要1000+MB的内存,怎么算都够了

顺序处理太慢的话可以用多台机器对文件分块处理,最后把处理结果按位取或就行

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文