gpt4 book ai didi

hadoop - 如何实现 WritableComparable 接口(interface)?

转载 作者:可可西里 更新时间:2023-11-01 16:56:20 25 4
gpt4 key购买 nike

我需要在 Job 中使用 setGroupingComparatorClass 方法,它需要一个类型为 WritableComparable 的参数。

我无法实现 WritableComparable 类。

请帮我解决这个问题。问候,比杜特

最佳答案

    setGroupingComparatorClass(Class<? extends RawComparator> cls)

定义比较器,该比较器控制将哪些键组合在一起,以便对 Reducer.reduce(Object, Iterable, 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);
}

}
}

希望对您有所帮助。

关于hadoop - 如何实现 WritableComparable 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29389117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com