mapreduce使用MultipleOutputs

本文介绍了一种在Hadoop MapReduce作业中根据特定条件在Reduce端动态生成不同输出文件的方法。通过使用MultipleOutputs类,可以在reduce函数内部根据不同key值将数据写入到指定路径的不同文件中。
import org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;
reduce端
		  private MultipleOutputs output;
		  @Override
	      protected void setup(Context context
	      ) throws IOException, InterruptedException {
	          output = new MultipleOutputs(context);
	      }
	     private String generateFileName(Text k,String goalpath) {
	    	 
	  //  	 if (k.toString().equals("hello"))
	    	 return goalpath+"/target";
	    	 
	    //	 return "other";	 
	    	 }
reduce函数内
output.write(oKey, oVal,generateFileName(targetKey,goalpath));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值