Hadoop自定义可写

时间:2014-10-06 21:58:31

标签: java hadoop

我正在尝试在作业的输出中写入多个值。为此,我使用实现接口Writable的自定义可写。这个自定义可写,我称之为CompositeWritable实现了两种读写方法。当我运行作业时,输出如下所示:

key CompositeWritable@5fdf281b
lean    CompositeWritable@2153b010
likely  CompositeWritable@2153b010

我错过了什么?在作业规范中,我将输出值类设置为CompositeWritable。我错过了其他任何设置吗?

2 个答案:

答案 0 :(得分:2)

TextOutputFormat似乎依赖于可写(see line 80)的toString方法。在CompositeWritable类上实现toString的合理覆盖,例如,您可以在包含的项上调用string,并将它们与分隔符一起追加。

答案 1 :(得分:1)

你错过了

@Override
    public String toString() {
        return ___________;
    }

示例:

@Override
        public String toString() {
            return key+","+value;
        }

此处使用","分隔键和值。分离器。你可以按照自己的意愿使用任何分离器。