package com.taobao.top.analysis.statistics.reduce; import java.io.Serializable; import java.util.Map; import com.taobao.top.analysis.statistics.data.ReportEntry; /** * * @author zhudi * mapper操作生成的key和value会通过调用这个方法聚合 * * @param <T> */ public interface IReducer extends Cloneable,Serializable { public enum ReduceType { DEEP_MERGE("deep"), SHALLOW_MERGE("shallow"); String v; ReduceType(String value) { this.v = value; } @Override public String toString() { return v; } } /** * 聚合 * @param entry * @param key * @param value * @param result */ public void reducer(ReportEntry entry,String key,Object value,Map<String, Object> result,ReduceType rs); }