我正在尝试在作业的输出中写入多个值。为此,我使用实现接口Writable
的自定义可写。这个自定义可写,我称之为CompositeWritable
实现了两种读写方法。当我运行作业时,输出如下所示:
key CompositeWritable@5fdf281b
lean CompositeWritable@2153b010
likely CompositeWritable@2153b010
我错过了什么?在作业规范中,我将输出值类设置为CompositeWritable
。我错过了其他任何设置吗?
答案 0 :(得分:2)
TextOutputFormat似乎依赖于可写(see line 80)的toString方法。在CompositeWritable类上实现toString的合理覆盖,例如,您可以在包含的项上调用string,并将它们与分隔符一起追加。
答案 1 :(得分:1)
你错过了
@Override
public String toString() {
return ___________;
}
示例:
@Override
public String toString() {
return key+","+value;
}
此处使用","分隔键和值。分离器。你可以按照自己的意愿使用任何分离器。