开发者社区> 问答> 正文

关于mapreduce使用问题

做菜鸟分仓
在线上提交了mr,发现每天的购买数据都是一样的。于是线下又试了。
发现,map后,reduce public void reduce(Record key, Iterator<Record> values, TaskContext context) 方法中,values里的record的对象全是同一个。。这是什么鬼。。
下面是对象的引用:

com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae
com.aliyun.odps.mapred.bridge.WritableRecord@67b6d4ae


有谁也遇到过这种问题。。新手求指导啊!!!

展开
收起
识嘚唔识嘚 2016-06-03 19:18:56 4340 0
1 条回答
写回答
取消 提交回答
  • 回 楼主(识嘚唔识嘚) 的帖子
    这个是因为框架里values.next()拿到的record是复用的,可以通过record.toArray()拿到所有的列的数据。
    2016-06-07 14:05:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云E-MapReduce 立即下载
\"Hadoop的过去现在和未来——从阿里云梯到E-MapReduce \" 立即下载
HDFS optimization for HBase at XiaoMi 立即下载