和streaming模式不同,pipes模式中提供的接口没有直接的Combiner Class定义,但是在他的TemplateFactory头文件中有一个
因此只需要简单改写下常见的调用方式
其中WordCountCombine类的定义就按照WordCountReduce一样的方式继承就行了,实际上就是一个Reducer。
template <class mapper, class reducer, class partitioner,
class combiner, class recordReader>
class TemplateFactory<mapper, reducer, partitioner, combiner, recordReader,
void>
: public TemplateFactory5<mapper,reducer,partitioner,combiner,recordReader>{
};
因此只需要简单改写下常见的调用方式
return HadoopPipes::runTask(HadoopPipes::TemplateFactory4<WordCountMap, WordCountReduce,void,WordCountCombine>());
其中WordCountCombine类的定义就按照WordCountReduce一样的方式继承就行了,实际上就是一个Reducer。