大数据学习
学习和总结
Java-Talk
这个作者很懒,什么都没留下…
展开
-
如何找出某一天访问百度网站最多的 IP?
题目描述现有海量日志数据保存在一个超大文件中,该文件无法直接读入内存,要求从中提取某天访问百度次数最多的那个 IP。解答思路这道题只关心某一天访问百度最多的 IP,因此,可以首先对文件进行一次遍历,把这一天访问百度 IP 的相关信息记录到一个单独的大文件中。接下来采用的方法与上一题一样,大致就是先对 IP 进行哈希映射,接着使用 HashMap 统计重复 IP 的次数,最后计算出重复次...转载 2020-04-13 08:24:47 · 367 阅读 · 0 评论 -
如何从大量数据中找出高频词?
题目描述有一个 1GB 大小的文件,文件里每一行是一个词,每个词的大小不超过 16B,内存大小限制是 1MB,要求返回频数最高的 100 个词(Top 100)。解答思路由于内存限制,我们依然无法直接将大文件的所有词一次读到内存中。因此,同样可以采用分治策略,把一个大文件分解成多个小文件,保证每个文件的大小小于 1MB,进而直接将单个小文件读取到内存中进行处理。思路如下:首先遍...转载 2020-04-13 08:22:14 · 1929 阅读 · 0 评论 -
如何从大量的 URL 中找出相同的 URL?
题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。解答思路 每个 URL 占 64B,5,000,000,000 * 64B ≈ 5GB * 64 = 320GB,那么 50 亿个 URL占用的空间大小约为 320GB。由于内存大小只有 4G,因此,我们不可能一次性...转载 2020-04-13 08:18:26 · 517 阅读 · 0 评论