Hadoop 从映射器写入单个文件

Hadoop 从映射器写入单个文件,hadoop,mapreduce,Hadoop,Mapreduce,我正在使用mapreduce,它将从HBase读取的一些数据生成CSV文件。有没有一种方法可以从映射程序中写入单个文件而无需缩减阶段,或者在作业结束时合并映射程序生成的多个文件?我知道我可以将输出格式设置为在作业级别写入文件,是否可以为映射程序执行类似的操作 非常感谢,MapReduce不是这样工作的 为什么你需要一份工作?编写一个简单的Java应用程序,为您实现同样的功能。还有一些命令行util也为您提供了同样的功能。说真的,MapReduce不是这样工作的 为什么你需要一份工作?编写一个简单

我正在使用mapreduce,它将从HBase读取的一些数据生成CSV文件。有没有一种方法可以从映射程序中写入单个文件而无需缩减阶段,或者在作业结束时合并映射程序生成的多个文件?我知道我可以将输出格式设置为在作业级别写入文件,是否可以为映射程序执行类似的操作


非常感谢,MapReduce不是这样工作的


为什么你需要一份工作?编写一个简单的Java应用程序,为您实现同样的功能。还有一些命令行util也为您提供了同样的功能。

说真的,MapReduce不是这样工作的


为什么你需要一份工作?编写一个简单的Java应用程序,为您实现同样的功能。还有一些命令行util也为您提供了同样的功能。

在没有Reduce阶段的情况下,有Map/Reduce作业是可能的,而且这种情况并不少见。为此,您只需使用job.setNumReduceTasks0

但是,我不确定在这种情况下如何处理作业输出。通常,每个减速机都有一个结果文件。如果没有减缩器,我可以想象每个映射器只能得到一个文件,或者无法生成作业输出。你得试试/研究一下


如果上述方法不适用于您,您仍然可以使用默认的Reducer实现,它只是转发mapper output identity函数

在没有Reduce阶段的情况下进行Map/Reduce作业是可能的,也并非罕见。为此,您只需使用job.setNumReduceTasks0

但是,我不确定在这种情况下如何处理作业输出。通常,每个减速机都有一个结果文件。如果没有减缩器,我可以想象每个映射器只能得到一个文件,或者无法生成作业输出。你得试试/研究一下


如果上述方法不适用于您,您仍然可以使用默认的Reducer实现,它只是转发mapper output identity函数

嗨,我不同意在这种特殊情况下这样做。在这种情况下,我可能需要在hbase中处理大量记录,而以未分发的方式进行处理可能是一个问题。编写分布式应用程序最简单的方法是使用MapReduce。嗨,我不同意在这种特殊情况下这样做。在这种情况下,我可能需要在hbase中处理大量记录,而以未分发的方式进行处理可能是一个问题。编写分布式应用程序最简单的方法是使用MapReduce。您好,谢谢回复。这对我有帮助。如果我们不指定job.setNumReduceTask0,文件的名称就像part-m-00000等。如果我们有默认的reducer,它们的名称就是part-r-0000等。我只是想知道是否可以在作业结束时合并reducer部分文件;可用于合并作业完成时的文件嗨,谢谢回复。这对我有帮助。如果我们不指定job.setNumReduceTask0,文件的名称就像part-m-00000等。如果我们有默认的reducer,它们的名称就是part-r-0000等。我只是想知道是否可以在作业结束时合并reducer部分文件;可用于在作业完成时合并文件