我正在研究Map-Reduce的问题。但是,我坚持认为如何将List<Text>
作为Mapper output
传递?有可能吗?如果是,那么我们如何告诉configuration
关于Mapper output class
?
答案 0 :(得分:4)
您可以使用ArrayWritable类作为mapper类中的值对象。请参阅以下代码片段,了解您的mapper类
ArrayWritable arrayWritable = new ArrayWritable(Text.class);
Text [] textValues = new Text[2];
textValues[0] = new Text("value1");
textValues[1] = new Text("value1");
arrayWritable.set(textValues );
context.write(key , arrayWritable );
在驱动程序类中设置值类,如下所示
job.setMapOutputValueClass(ArrayWritable.class);