hadoop中在写mapreduce方法时,reduce()阶段避免不了对[Iterable ]values进行迭代
这里不能直接使用values的迭代结果,直接添加会造成集合里存了都是一样的值,为最后一次添加的数据,因为这个value只是一个引用,地址是不变的,但是里面的值是每次迭代变化的。所以造成最后保存的都是最后一次的value的值(整个list)
try {
BeanUtils.copyProperties(documentMergePojo1,value);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
可以使用BeanUtils.copyProperties(documentMergePojo1,value);
hadoop关于reduce方法里面迭代value问题
最新推荐文章于 2024-04-30 11:29:52 发布