我正在研究Map-Reduce的问题。但是我坚持要如何将List<Text>
作为Mapper output
传递?有没有可能?如果是,那么我们如何告诉configuration
有关Mapper output class
的信息?
最佳答案
您可以将ArrayWritable类用作映射器类中的值对象。请为您的映射器类参考以下代码段,
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);