能不能解释一下hadoop中的mapreduce

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

蛊毒传说
浏览 749回答 2
2回答

潇潇雨雨

比如说要查日志中不同单词出现的次数,把日志平均(注意这个评价不止是说大小,还有概率)分成两份(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通过对模型的简化,使得这样一套系统实际上也能完成相当多的实际任务。
打开App,查看更多内容
随时随地看视频慕课网APP