海量数据-今天的阿里面试题 关于海量数据统计
题目是这样的 有一百台电脑,每台电脑有100GB的int_64数据 怎么在所有的数据里统计出出现频率最高的那个数字
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
题目是这样的 有一百台电脑,每台电脑有100GB的int_64数据 怎么在所有的数据里统计出出现频率最高的那个数字
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
每台电脑用二叉树的方式建立统计结构,树节点权值是数值,树结点带统计数量值,所有电脑计算完成后合并树,再从这树上找出统计数量值最大的节点
问题是这样需要很大的内存
还有一种方法是将处理数据分区,比如让1号电脑只处理0-2^56的数据,而1号电脑在处理这些数据时仍然先平均分成N个区,划分的依据是每个区构建的统计二叉树可以塞进内存,然后只要找出每个区里出现的最多的那个数即可。这样做的好处是内存不会爆,分区可以随意划分,缺点是构建分区的时候100台电脑间需要通信,网络性能会成为瓶颈。
hadoop,写mapreduce