Hadoop-MultipleInputs/MultipleOutputs1<转>

一个Job里可以从多个同质或异质的输入源读取数据,并使用各自的Mapper 
Java代码   收藏代码
  1. MultipleInputs.addInputPath(conf, ncdcInputPath,  
  2.     TextInputFormat.class, MaxTemperatureMapper.class)  
  3. MultipleInputs.addInputPath(conf, metOfficeInputPath,  
  4.     TextInputFormat.class, MetOfficeMaxTemperatureMapper.class);  



MultiOutputFormat可以让你按一定规则指定、分隔reduce output的文件名,如 
Java代码   收藏代码
  1. ...  
  2. static class StationNameMultipleTextOutputFormat  
  3.     extends MultipleTextOutputFormat<NullWritable, Text> {  
  4.       
  5.     private NcdcRecordParser parser = new NcdcRecordParser();  
  6.       
  7.     protected String generateFileNameForKeyValue(NullWritable key, Text value,  
  8.         String name) {  
  9.       parser.parse(value);  
  10.       return parser.getStationId();  
  11.     }  
  12.   }  
  13. ...  

你可能感兴趣的:(Hadoop-MultipleInputs/MultipleOutputs1<转>)