[英]How to sort a column in data set in descending order using Java Hadoop map reduce?
[英]How to sort an arbitrarily large set of data using Hadoop?
我的问题与这篇文章有关, 使用MapReduce / Hadoop对大数据进行排序 。 我对任意集合进行排序的想法是:
然后完成以下处理:
为了利用数据的局部性,可以安排新的Reducer任务以合并由先前的Reducer任务生成的多个输出文件。 因此,例如,如果K = 5,则第一个reducer任务将生成大小为50000的文件,而新的reducer任务将使用5个文件,每个文件的分类记录为50000。 新的Reducer作业将被计划,直到仅剩一个文件为止,在这种情况下,大小为250.000.000(因为R = 4)。 最后,将在另一台机器上安排新的Reducer作业,以将文件合并为单个10 ^ 9文件
我的问题 :在Hadoop中,是否可以以某种方式安排Reducer作业的执行,以便它们将文件合并到某个目录中,直到只剩下1个文件? 如果是,怎么办?
另一种情况是在每个合并步骤之后安排MapReduce作业,例如,通过减少在其他计算机上运行的任务来并行合并大小为50000的文件,然后在其他计算机上并行执行大小为250.000的文件,等等。产生大量的网络流量。 无论如何,该问题在这种情况下也仍然有效-如何链接多个MapReduce作业,以便仅输出1个结果文件后链接停止?
Hadoop排序是通过分区程序完成的。 参见例如terasort基准测试的源代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.