问题:有1TB的数据,这些数据都是以单行单个数字的形式存储,使用MapReduce来构建一个分布式处理架构对这些数据进行排序。
我的解决思路:
先使用map和reduce找到每个节点中的最大值,然后在使用reduce找到全局最大值。使用全局最大值对数据集进行拆分(比如最大值是99999,拆成0-10000对应的key是0,10000-20000对应的key是1……),然后在对原数据进行map将数据分别映射到对应的区间中,接下来使用reduce将同一个key的保存到“part_(key值)”文件。然后在分别对这些文件中的数据进行排序,就可以得到最终的排序结果。
欢迎大佬们来发表自己的方法,我也不知道自己的思路是否可行。