【发布时间】:2015-11-12 18:46:32
【问题描述】:
我在某处读到,如果我们在创建 Mapper/Reducer 时定义输出可写对象,并且在 Mapper/Reducer 中我们应该只设置该可写对象的值,而不是为每个输出记录创建可写对象,则可能会提高性能。
例如(在伪代码中):
IntWritable idWritable = new IntWritable();
map(){
idWritable.setValue(outputValue);
emit(idWritable);
}
比:
map(){
IntWritable idWritable = new IntWritable(outputValue);
emit(idWritable);
}
这是真的吗?在创建将用于所有输出记录的 Mapper/Reducer 时定义输出可写文件真的是一个好习惯吗?
【问题讨论】:
标签: hadoop