0
点赞
收藏
分享

微信扫一扫

大数据类面试题

Java架构领域 2022-03-14 阅读 27
java

如何从大量的url中找出相同的url

给定a、b两个文件,各存放50亿个url,每个url各占64B,内存限制是4GB,请找出a、b两个文件共同的url

分析:
拆分成可以处理的文件,进行比较。
遍历a文件,求每天url的hash值,并对500求余,这样原来文件分成500份文件,编号a0,a1,a2…a499平均一份文件有1000万条数据,(100万字节就是1mb)文件大概640mb。b文件做相同处理,因为相同url的hash值相同,所以相同url会被分配到相同的文件中。
将着500份文件一一和b文件拆分出来的500文件比较。
比较过程是,把a文件的一个小文件中的内容加入set集合,遍历b文件的小文件,若set中存在相同的url,则说明是重复的url,写入一个准备好的文件。

举报

相关推荐

大数据面试题

0 条评论