在Apache Hadoop的map-reduce程序中,使用集/列表作为映射器输出中的键的选项有哪些?

我最初的想法是使用ArrayWritable作为键类型,但这是不允许的,因为该类未实现WritableComparable。我是否需要定义一个自定义类,或者Hadoop库中是否有其他类似类的集合可以充当键?

最佳答案

我认为ArrayWritable实现了Writable,它是WritableComparable的 super 接口(interface)。

您是否将ArrayWritable子类化?根据文档,您需要对其进行子类化,以便可以设置数组要存储的对象的类型。例如:

public class TextArrayWritable extends ArrayWritable {

    public TextArrayWritable() {
        super(Text.class);
    }
}

checkout ArrayWritable javadocs

关于hadoop - 将设置/列表数据类型用于Hadoop中的中间键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2173099/

10-13 07:18