- 浏览: 209687 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问量最大的IP,内存大小4M
解答:
1.由于内存大小的限制,分而治之
2.IP地址,0.0.0.0 ~ 255.255.255.255 ,
255(10) = 11111111(2)
共 4*8 = 32 bit 表示一个IP地址
每位上共两种变化,所以共 2^32 个不同的IP地址
拆分为1024文件
2^32 / 2^10 = 2^22 = 4M,每份文件中最多存放4M个不同的IP地址
3.计算IP地址的HASH值
IP.hash % 1024 ,让IP地址落在不同的文件中
计算Hash值再取余,
类比HashMap ,
二次计算Hash值,即将key的hashCode 再进行计算,
是因为
4.在1024个小文件中,计算当前文件中的访问量最高的IP地址,可以使用HashMap的形式
5.再从得出的1024个结果中,选取访问量最高的IP地址
6.使用Hash(IP)%1024的原因
直接分配:即将大文件拆分成1024个小文件,平均分配,按照顺序依次将IP地址放入不同的文件中;缺点,大文件中IP地址是按照实际应用中的顺序存放的,可能存放在分配到不同的文件后,每个文件中都有相同的IP地址;而这些在不同文件中相同的IP地址,又可能不是改文件中数量最多的IP地址;
散列分配:能够保证把相同的IP地址分配到同一个文件中,不会出现统计遗漏的问题或混淆
博文参考:
如何从海量日志中提取访问最多的10个IP
10道Hadoop面试真题及解题思路
解答:
1.由于内存大小的限制,分而治之
2.IP地址,0.0.0.0 ~ 255.255.255.255 ,
255(10) = 11111111(2)
共 4*8 = 32 bit 表示一个IP地址
每位上共两种变化,所以共 2^32 个不同的IP地址
拆分为1024文件
2^32 / 2^10 = 2^22 = 4M,每份文件中最多存放4M个不同的IP地址
3.计算IP地址的HASH值
IP.hash % 1024 ,让IP地址落在不同的文件中
计算Hash值再取余,
类比HashMap ,
二次计算Hash值,即将key的hashCode 再进行计算,
是因为
4.在1024个小文件中,计算当前文件中的访问量最高的IP地址,可以使用HashMap的形式
5.再从得出的1024个结果中,选取访问量最高的IP地址
6.使用Hash(IP)%1024的原因
直接分配:即将大文件拆分成1024个小文件,平均分配,按照顺序依次将IP地址放入不同的文件中;缺点,大文件中IP地址是按照实际应用中的顺序存放的,可能存放在分配到不同的文件后,每个文件中都有相同的IP地址;而这些在不同文件中相同的IP地址,又可能不是改文件中数量最多的IP地址;
散列分配:能够保证把相同的IP地址分配到同一个文件中,不会出现统计遗漏的问题或混淆
博文参考:
如何从海量日志中提取访问最多的10个IP
10道Hadoop面试真题及解题思路
发表评论
-
京东商城--商城研发部面试
2017-12-01 19:30 5852017年12月01日 笔试题目 1. final fina ... -
输出十进制数字的二进制数的表示
2017-11-03 23:16 1095一、代码如下: public static void m ... -
将数组中的内容随机打乱
2017-10-27 22:45 508问题:斗地主游戏,开局会将纸牌重新打乱,请用数组的随机排序实现 ... -
JVM基础
2017-10-26 22:41 418一、Java 运行时区域 《 ... -
String为什么使用final 修饰
2017-10-25 22:32 964主要是为了”安全性“和”效率“的缘故 1、由于String类 ... -
沐金地面试记录
2017-10-25 22:15 50110.25 下午同事帮忙投递的,约在晚上面试,下班之后赶紧去了 ... -
JD广告部面试经历
2017-10-23 16:46 425同事的同事招聘,于是同事帮忙推荐了一下! 2017年10月1 ... -
编程题目(一)
2017-09-28 22:28 3951.函数:参数为两个字符串a,b ,判断 b 中是否包含 a ... -
值传递与引用传递
2017-05-30 12:25 324一、值传递与引用传递 其实按值还是按引用的区别在于“是否在传 ... -
装箱与拆箱
2016-10-24 22:46 524public class IntegerTest { ... -
可变性与不可变性
2015-06-01 20:55 445String StringBuilder StringBuff ... -
CS架构和BS架构的区别
2015-05-25 08:50 477一、简介 1.C/S结构,即 ... -
HTTP常见响应状态码
2015-05-20 08:26 415问题:程序调试过程中 ... -
JIT的概念
2015-05-19 18:48 702参考文献: http://blog.csdn.net/yan ... -
JDK与JRE与JVM的区别
2015-05-19 18:45 10941.JDK (1)概念 JDK : Java Developm ... -
运行时与编译时
2015-05-17 18:05 534运行时与编译时 博文转载:http://www.import ... -
System.exit(0)与return的区别
2015-05-17 16:49 1021问题:System.exit(0)与return的区别 1. ... -
重载(overloading)与重写(overriding)
2015-05-17 15:50 636问题:重载(overloading)与重写(overridin ... -
==和equals
2015-05-15 20:07 650参考文献: http://www.cnblogs.com/zh ... -
return finally 与 System.exit(n)
2015-05-10 18:00 665问题:System.exit(n);的含义以及作用 说明: ...
相关推荐
标题 "提取出某日访问网站次数最多的那K个IP" 涉及的是数据分析和数据处理方面的技术,主要目标是从海量的日志数据中找出在特定日期内访问网站频率最高的K个IP地址。在这个过程中,我们可以使用多种编程语言和工具来...
大数据面试题目的解决方法可以应用于实际的数据处理中,例如,在海量日志数据中,使用Bloom filter可以快速判断某个元素是否存在于一个集合中,而使用Hashing可以快速提取出某日访问百度次数最多的那个IP。在大数据...
2. 海量日志数据,提取出某日访问百度次数最多的那个 IP。 3. 如何根据输入元素个数 n,确定位数组 m 的大小及哈希函数个数 k。 这些问题可以使用上述方法来解决,例如使用 Bloom filter 或 Hashing 等方法来查找、...
第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash...
1. 提取出某日访问百度次数最多的IP 这是一个典型的分布式计算问题。首先,通过对IP地址取模将海量日志分散到多个小文件中,例如模1000,生成1000个小文件。然后,对每个小文件使用哈希映射(如hash_map)统计IP地址...
一、海量日志数据,提取出某日访问百度次数最多的那个 IP 这是一个典型的 hash 表应用问题,解决方案是使用 hash 表将 IP 直接存入内存,然后进行统计。在实际操作中,可以将大文件映射为多个小文件,然后找出每个...
在这个场景中,我们有海量日志数据,问题是如何提取出某日访问百度次数最多的那个 IP? 解决方案 1:首先是这一天,并且是访问百度的日志中的 IP 取出来,逐个写入到一个大文件中,然后采用映射的方法,找出每个小...
**1、海量日志数据,提取出某日访问百度次数最多的那个IP** - **问题概述**: 给定一天内的海量日志数据,从中找出访问百度次数最多的IP地址。 - **解决方案**: - **初步思路**: 将所有IP地址写入一个大文件,考虑...
4. 给定海量日志数据,需要提取出某日访问百度次数最多的那个IP。解决方法是使用HashMap来统计每个IP的访问次数,然后使用堆排序来输出访问次数最多的IP。 5. 给定2.5亿个整数,需要找出不重复的整数,内存空间不...
- **案例二:日志数据分析**:在海量日志数据中,提取出某日访问百度次数最多的IP。通过使用Hashing,将IP直接存入内存并进行统计,可以快速找出访问次数最多的IP。 - **案例三:整数去重**:在2.5亿个整数中找出不...
对于海量日志数据,例如需要提取出某日访问百度次数最多的那个IP,可以使用映射的方法,即%1000将整个大文件映射为1000个小文件,然后逐个写入到一个大文件中,然后对每个小文件中的所有IP进行频率统计,最后在这...
4. 海量日志数据分析:有海量日志数据,要求提取出某日访问百度次数最多的那个 IP。解决方案是首先提取出这一天的日志中的 IP,然后使用映射的方法将其分割为 1000 个小文件,最后找出每个小文件中出现频率最大的 IP...
海量日志数据,提取出某日访问百度次数最多的那个IP。 方案 1:首先是这一天,并且是访问百度的日志中的IP 取出来,逐个写入到一个大文件中。注意到 IP 是 32 位的,最多有个IP。同样可以采用映射的方法,比如模...
提取某日访问百度次数最多的那个IP** **问题描述**:给定一天内的大量日志数据,需要从中提取出访问百度次数最多的那个IP。 **解决方案**:考虑到IP地址的数量有限,最多2^32个,可以考虑使用哈希表(如`hash_map...
- 海量日志数据中,提取出某日访问百度次数最多的IP地址。由于IP地址总数有限,可以考虑使用哈希表将IP地址直接存入内存中,并进行统计。 #### 四、Bit-Map **适用范围**:适用于数据范围较小的情况,如电话号码等...
从海量日志数据中,找出某天访问百度次数最多的IP地址。 #### 解答思路 - 使用哈希策略将日志数据分布到多个小文件中,例如通过IP地址的哈希值对1024取模,得到1024个小文件。 - 对每个小文件建立一个哈希表,统计...
* 海量日志数据,提取出某日访问百度次数最多的那个IP(大数据处理) * 有10个文件,每个文件1G,每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。如何按照query的频度排序?(大数据处理) ...