原文:有10 亿个 url,每个 url 大小小于 56B,要求去重,内存只给你4G

问题:有 亿个 url,每个 url 大小小于 B,要求去重,内存只给你 G 思路: .首先将给定的url调用hash方法计算出对应的hash的value,在 亿的url中相同url必然有着相同的value。 .将文件的hash table 放到第value n台机器上。 .value n是机器上hash table的值。 将文件分布在多个机器上,这样要处理网路延时。假设有n台机器。 gt gt ...

2018-06-05 15:01 1 5966 推荐指数:

查看详情

给定a、b两个文件,各存放50亿url每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url

可以估计每个文件的大小为5G*64=300G,远大于4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取hash(url)%1000,然后根据所得值将url分别存储到1000个小文件(设为a0,a1,...a999)当中。这样每个小文件的大小约为 ...

Thu Aug 16 08:25:00 CST 2012 0 4666
面试- 阿里-. 大数据题目- 给定a、b两个文件,各存放50亿url每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

假如每个url大小10bytes,那么可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,所以不可能将其完全加载到内存中处理,可以采用分治的思想来解决。   Step1:遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将url分别存储到1000 ...

Wed Jul 12 19:32:00 CST 2017 0 10029
linux的虚拟内存4G,而每个进程都有自己独立的4G内存空间,怎么理解?

问: linux的虚拟内存4G,而每个进程都有自己独立的4G内存空间,怎么理解? 每个进程所拥有的4G独立的虚拟内存空间是什么意思?linux系统的虚拟4G空间中,高位的1G是用于系统内核运行的,那么每个进程都有4G的话岂不都要运行内核了,这样是不是很浪费很低效? 答: 4G ...

Thu Dec 22 22:14:00 CST 2016 0 3491
linux的虚拟内存4G,而每个进程都有自己独立的4G内存空间,怎么理解?

问:每个进程所拥有的4G独立的虚拟内存空间是什么意思?linux系统的虚拟4G空间中,高位的1G是用于系统内核运行的,那么每个进程都有4G的话岂不都要运行内核了,这样是不是很浪费很低效? 答:Linux不大清楚,不过看你描述和Windows类似。32位的Windows,每个进程也有4G ...

Fri Jul 28 00:02:00 CST 2017 0 1204
10G个整数,乱序排列,要求找出中位数。内存限制为 2G写出思路即可

题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G写出思路即可(内存限制为 2G的意思就是,可以使用2G的 空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 分析: 既然要找中位数,很简单就是排序的想法。那么基于字节的桶排序是一个可行 ...

Mon Mar 09 05:44:00 CST 2020 0 823
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM