Sorting 如何使用Hadoop对任意大的数据集进行排序?
我的问题与这篇文章有关。 我对任意集合进行排序的想法是:Sorting 如何使用Hadoop对任意大的数据集进行排序?,sorting,hadoop,mapreduce,Sorting,Hadoop,Mapreduce,我的问题与这篇文章有关。 我对任意集合进行排序的想法是: 我们有一个包含记录的大文件,比如说10^9条记录 该文件在M个映射器之间拆分。每个映射器对大小的一部分进行排序,例如使用快速排序对10000条记录进行排序,并输出排序后的子序列。输出键的范围在1和R之间,其中R是reducer任务的数量(假设R=4)。该值是已排序的子序列 每个Reducer读取K个子序列并合并它们(迭代地从子序列中获取最小元素,直到子序列为空)。输出被写入一个文件 然后进行以下处理: 为了利用数据的局部性,可以安排新的R
另一种情况是在每个合并步骤后安排MapReduce作业,例如,大小为50000的文件将通过在其他机器上运行的reduce任务并行合并,然后在其他机器上运行大小为250.000的文件,等等。但这将产生大量网络流量。在任何情况下,这个问题对于本例也是有效的-如何链接多个MapReduce作业,以便在仅输出一个结果文件后停止链接?Hadoop排序是使用。例如,请参见的示例,它没有开销,它为您完成了所有工作,而且它确实是最佳的。他们赢了。