1.Combiner的本质就是Reducer。
2.是执行在Map端的Reducer。
3.程序中是否使用Combiner不能影响正常的Map到Reduce的数据传输;其实就是Combiner数据输入的K和V的数据类型与其数据输出的K和V的数据类型一致。【数据从Map交给Reduce的时候,Map的输出K和V的数据类型与Reduce输入的K和V的数据类型一致。】
4.如果程序中的Reducer的数据输入的K和V的数据类型与数据输出的K和V的数据类型一致的时候,该Reducer可以直接作为Combiner来使用;一般情况下,Combiner的逻辑和Reducer的逻辑一般无二。
5.一般情况Combiner和Reducer的计算逻辑【过程】是一致的,但是Reducer不一定能直接作为Combiner来使用,跟需求有关,此时,只能自定义Combiner。