MapReduce程序-tips

1,Configuration配置文件只有在main或者是run方法中设置才有效;

     在map或reduce中只能通过context.getConf()方法获取该Job的配置文件,从而读取常量值。

注:千万不能在map或reduce中修改configuration,虽然不报错,但这样是改不了值的

补充:类的静态常量与Configuration设置常量的功能是一样的,但前者只能保留第一次赋值,即使在mainrun中修改也不行

2,如果该MR程序,不需要Reducer过程,则只需要在main或run中job.setReducerClass(Reducer.class)即可。

注:Reducer是hadoop包中自带的类,如果自定义reducer需要继承该类。

 3,在Reducer类中的reduce方法中,Value迭代器只能迭代一次,之后便无效(这一点很坑人,需要注意)

      可以将Value存于ArrayList中,即可实现多次迭代。

 

你可能感兴趣的:(mapreduce)