海量数据-今天的阿里面试题 关于海量数据统计

发布于 2016-11-04 02:17:45 字数 64 浏览 1162 评论 2

题目是这样的 有一百台电脑,每台电脑有100GB的int_64数据 怎么在所有的数据里统计出出现频率最高的那个数字

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2016-12-24 04:35:31

每台电脑用二叉树的方式建立统计结构,树节点权值是数值,树结点带统计数量值,所有电脑计算完成后合并树,再从这树上找出统计数量值最大的节点
问题是这样需要很大的内存

还有一种方法是将处理数据分区,比如让1号电脑只处理0-2^56的数据,而1号电脑在处理这些数据时仍然先平均分成N个区,划分的依据是每个区构建的统计二叉树可以塞进内存,然后只要找出每个区里出现的最多的那个数即可。这样做的好处是内存不会爆,分区可以随意划分,缺点是构建分区的时候100台电脑间需要通信,网络性能会成为瓶颈。

晚风撩人 2016-12-20 09:13:00

hadoop,写mapreduce

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文