0
我需要在Job中使用方法setGroupingComparatorClass
,它需要WritableComparable
类型的参数。我不能执行WritableComparable
类。如何实现WritableComparable接口?
请帮我解决这个问题。的问候,Bidyut
我需要在Job中使用方法setGroupingComparatorClass
,它需要WritableComparable
类型的参数。我不能执行WritableComparable
类。如何实现WritableComparable接口?
请帮我解决这个问题。的问候,Bidyut
setGroupingComparatorClass(Class<? extends RawComparator> cls)
定义哪些键被分组在一起用于一个呼叫到Reducer.reduce(对象,可迭代,org.apache.hadoop.mapreduce.Reducer.Context),其控制所述比较
job.setGroupingComparatorClass(CustomKey.GroupComparator.class);
在您的Customkey类中,您可以编写静态方法。
在您的自定义键类中添加以下代码。
public class Customkey implements WritableComparable<IndexerKey> {
public static class GroupComparator extends WritableComparator
implements Serializable {
private static final long serialVersionUID = -3385728040072507941L;
public GroupComparator() {
super(Customkey .class, true);
}
@SuppressWarnings("rawtypes")
public int compare(WritableComparable a, WritableComparable b) {
Customkey w1 = (Customkey) a;
Customkey w2 = (Customkey) b;
return w1.compareGroup(w2);
}
}
}
希望这可以帮助你。
谢谢高拉夫,我会实现这个&让你知道。感谢您的支持。 – user4734746 2015-04-01 13:24:18
欢迎您! – 2015-04-01 13:25:17