为了账号安全,请及时绑定邮箱和手机立即绑定

能不能解释一下hadoop中的mapreduce

能不能解释一下hadoop中的mapreduce

蛊毒传说 2018-10-12 18:35:17
现在要完成一项海量数据处理的工作。大约有500G的.gz log文件现在要从log中提取一些信息做统计工作~因为文件太大,所以打算用hadoop来做。现在已经安装了hadoop,然后需要自己写mapreduce打算用脚本来写,比如shell,python。可是因为刚入手,所以对mapreduce不是很理解。不知哪位高手能用生动的语言解释一下什么事mapreduce,对于我这个问题来说,mapreduce有分别起到什么作用呢?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

比如说要查日志中不同单词出现的次数,把日志平均(注意这个评价不止是说大小,还有概率)分成两份(map),然后由两台机器分别去统计,A机器查到的结果是 {"hello": 3, "world": 5}, B机器查到的结果是 {"world": 4, "program": 2} 。两个一合并(reduce),就得到最终结果 {"hello": 3, “world": 9, "program": 2}

这样一个简单的例子你可以看到,一个map-reduce的过程,就是将一个任务平均划分(通常用上hash以保证平均)成多个互不依赖的子任务分别处理(map),然后再将子任务的结果合并(reduce)的过程。

并不是所有的任务都可以用map-reduce模型来完成的,但是Google通过对模型的简化,使得这样一套系统实际上也能完成相当多的实际任务。


查看完整回答
反对 回复 2018-10-27
  • 2 回答
  • 0 关注
  • 740 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信