reduce执行很慢。

zouA_dmin 2014-09-15 06:51:53
分析一个400多M的数据,如果正常的执行,然后把执行的结果放到hive里,很快,效果还比较满意。从HDFS上可看到结果文件有300多M。
由于需求得要把结果数据放到mysql数据库里,这300多M数据大概有个300W条,于是就对代码进行了改写,用到了Writable,DBWritable,然后就用改写后的代码去分析数据,同样map执行速度还是很满意的,当在执行reduce的时候,最开始速度也还行,当执行到70%之后,就相当慢了,基本上3分钟走1%,后边越来越慢,有时候还报内存不够,然后把配置文件里检测内存的配置给去掉了,不让它检测内存,虽然能正常跑完数据,99%到100%这个过程等了2个小时!大概具体情况就是这样的了,有没有大神知道这到底问题出现在那里,求指教!
...全文
441 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zouA_dmin 2014-09-16
  • 打赏
  • 举报
回复
楼上的,1.没有跑其它任务,我用的hadoop job -list查看任务的,只有那一个任务在跑。! 2.我查看了一下链接,在reduce的时候还没有向mysql数据库里插入数据,也就是没有链接,当reduce执行到100%的时候才会去执行向数据库里插入数据!
whos2002110 2014-09-16
  • 打赏
  • 举报
回复
1 确认你执行到后面的时候集群上没有跑其它任务。 如果有我记得貌似有配置可以让你的任务一直等在那里,等别人的先执行完! 2 你的reduce里面是怎么使用数据库链接的呢? 在慢的时候查看下数据库链接数及状态看看是不是这方面问题
姜小白- 2014-09-15
  • 打赏
  • 举报
回复
楼主在hadoop版块发帖,那边更专业些

50,504

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧