Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hadoop mapreduce:where';当我指定多个减速机时,最终的hdfs结果文件是什么?_Java_Hadoop_Mapreduce_Hdfs - Fatal编程技术网

Java hadoop mapreduce:where';当我指定多个减速机时,最终的hdfs结果文件是什么?

Java hadoop mapreduce:where';当我指定多个减速机时,最终的hdfs结果文件是什么?,java,hadoop,mapreduce,hdfs,Java,Hadoop,Mapreduce,Hdfs,我有一个wordCount.java程序,并对其进行了修改,以支持多个映射器和还原器,如下所示: public class WordCount extends Configured implements Tool { public int run(String[] args) throws Exception { JobConf conf = new JobConf(getConf(), w1_args.class); for (int i = 0; i

我有一个wordCount.java程序,并对其进行了修改,以支持多个映射器和还原器,如下所示:

public class WordCount extends Configured implements Tool {
    public int run(String[] args) throws Exception {
        JobConf conf = new JobConf(getConf(), w1_args.class);
        for (int i = 0; i < args.length; ++i) {
            if ("-m".equals(args[i])) {
                conf.setNumMapTasks(Integer.parseInt(args[++i]));
            } else if ("-r".equals(args[i])) {
                conf.setNumReduceTasks(Integer.parseInt(args[++i]));
            } else {
                //
            }
            ...
它运行良好,当我检查输出目录时:

$ hdfs dfs -ls output-18
Found 16 items
output-18/_SUCCESS
output-18/part-00000
output-18/part-00001
output-18/part-00002
output-18/part-00003
output-18/part-00004
output-18/part-00005
output-18/part-00006
output-18/part-00007
output-18/part-00008
output-18/part-00009
output-18/part-00010
output-18/part-00011
output-18/part-00012
output-18/part-00013
output-18/part-00014
好的,正如我所预料的,15个减速机应该生产15个零件xxxx。但是合并所有这些结果的最终结果是什么(15个分割文件到1个文件)?我在hdfs目录中没有看到它。
我应该得到我的文件字数文件,而不是15个文件,对吗?

MapReduce不会将reducer的输出文件合并到单个文件中。我们可以使用以下命令将文件合并到本地计算机或运行另一个mapreduce作业进行合并

hadoop fs-getmerge/hdfs/output/dir//single/output/file.txt


MapReduce不会将reducer的输出文件合并到单个文件中。我们可以使用以下命令将文件合并到本地计算机或运行另一个mapreduce作业进行合并

hadoop fs-getmerge/hdfs/output/dir//single/output/file.txt


如果要合并到一个文件,则需要强制使用单个缩减器如果要合并到一个文件,则需要强制使用单个缩减器
$ hdfs dfs -ls output-18
Found 16 items
output-18/_SUCCESS
output-18/part-00000
output-18/part-00001
output-18/part-00002
output-18/part-00003
output-18/part-00004
output-18/part-00005
output-18/part-00006
output-18/part-00007
output-18/part-00008
output-18/part-00009
output-18/part-00010
output-18/part-00011
output-18/part-00012
output-18/part-00013
output-18/part-00014