将Mapreduce作业的Reducer输出写入单个File

时间:2013-07-11 06:03:26

标签: hadoop mapreduce hbase

我为HBase中的数据编写了map-reduce作业。它包含多个映射器和一个减速器。 Reducer方法接收映射器提供的数据并对其进行一些分析。对HBase中的所有数据完成处理后,我想通过单个Reducer将数据写回HDFS中的文件。目前,我每次获得新数据时都能将数据写入HDFS,但最终无法确定如何将最终结论写入HDFS。

1 个答案:

答案 0 :(得分:2)

因此,如果您尝试将单个reducer的最终结果写入HDFS,您可以尝试以下任何一种方法 -

  1. 使用Hadoop API FileSystem的create()函数从reducer写入HDFS。
  2. 在最终计算后从reducer发出一个键和值
  3. 覆盖Reducers cleanup()函数并在那里执行point(1)。
  4. 3的详情:

    http://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/Reducer.html#cleanup-org.apache.hadoop.mapreduce.Reducer.Context-

    希望这有帮助。