有1TB的数据,这些数据都是以单行单个数字的形式存储,使用MapReduce来构建一个分布式处理架构对这些数据进行排序。
问题:有1TB的数据,这些数据都是以单行单个数字的形式存储,使用MapReduce来构建一个分布式处理架构对这些数据进行排序。
我的解决思路:
先使用map和reduce找到每个节点中的最大值,然后在使用reduce找到全局最大值。使用全局最大值对数据集进行拆分(比如最大值是99999,拆成0-10000对应的key是0,10000-20000对应的key是1……),然后在对原数据进行map将数据分别映射到对应的区间中,接下来使用reduce将同一个key的保存到“part_(key值)”文件。然后在分别对这些文件中的数据进行排序,就可以得到最终的排序结果。
欢迎大佬们来发表自己的方法,我也不知道自己的思路是否可行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论