引言
了解了前面不同的海量数据的处理,我们通过这道题目来加深印象.
题目1
有一个包含100亿个URL的大文件,假设每个URL占用64B,请找出其中所有重复的URL.
解决方式
解决大数据问题的常规方法:把大文件通过哈希函数分配到机器,或者通过哈希函数把大文件拆成小文件.一直进行这样的划分,直到划分的结果满足资源限制的要求.若干是由具体资源限制计算出精确的数量.
我们以题目一为例子:
将100亿字节的大文件通过哈希函数分配到不同的机器上的,然后每一台机器分别统计分给自己的URL是否有重复的URL,根据hash函数的性质,相同的URL肯定被分在同一个机器上.
或者把这个大文件通过哈希函数拆成100个小文件.
题目2
某搜索公司一天的用户搜索词汇是海量的,请设计一种求出每天最热top100词汇的可行办法.
解决办法
哈希分流,具体如下