Hadoop任务副作用文件示例

时间:2012-07-12 00:39:56

标签: hadoop mapreduce

我可以举例说明如何使用任务副作用文件吗?

public class Map0t extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable >{
 public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {

         IntWritable one = new IntWritable(1);
        StringTokenizer tokenizer = new StringTokenizer(value.toString(), ",");

        String x;
        String y;
        String z;

        x = tokenizer.nextToken();
        y = tokenizer.nextToken();
        z = tokenizer.nextToken();

        output.collect(new Text(x+" "+z), one);

      }

}

我想在上面的Mapper函数中将新文本(x +“”+ y),新文本(z)作为副作用写入hdfs中的不同文件夹。

我搜索过但找不到任何关于如何使用任务副作用文件的示例。

请帮助我。

提前致谢!

1 个答案:

答案 0 :(得分:0)

不是最佳方法,但我能想到的一种方法是

  

在映射器的setup()中打开HDFS中的文件,写入文件,然后在映射器中的clean()中关闭该文件。人们认为要确保在映射器的setup()中使用唯一的文件名。