博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个介绍hadoop中MapReduce原理的通俗易懂的例子
阅读量:2807 次
发布时间:2019-05-13

本文共 595 字,大约阅读时间需要 1 分钟。

例子不是原创,但是本人觉得这个例子形容得不错,分享一下(从百度百科里面看到的)

不知道你们认为怎么样?

如果想统计下过去10年计算机论文出现最多的几个单词,看看大家都在研究些什么,那收集好论文后,该怎么办呢?

方法一:我可以写一个小程序,把所有论文按顺序遍历一遍,统计每一个遇到的单词的出现次数,最后就可以知道哪几个单词最热门了。
这种方法在数据集比较小时,是非常有效的,而且实现最简单,用来解决这个问题很合适。
方法二:写一个多线程程序,并发遍历论文。
这个问题理论上是可以高度并发的,因为统计一个文件时不会影响统计另一个文件。当我们的机器是多核或者多处理器,方法二肯定比方法一高效。但是写一个多线程程序要比方法一困难多了,我们必须自己同步共享数据,比如要防止两个线程重复统计文件。
方法三:把作业交给多个计算机去完成。
我们可以使用方法一的程序,部署到N台机器上去,然后把论文集分成N份,一台机器跑一个作业。这个方法跑得足够快,但是部署起来很麻烦,我们要人工把程序copy到别的机器,要人工把论文集分开,最痛苦的是还要把N个运行结果进行整合(当然我们也可以再写一个程序)。
方法四:让MapReduce来帮帮我们吧!
MapReduce本质上就是方法三,但是如何拆分文件集,如何copy程序,如何整合结果这些都是框架定义好的。我们只要定义好这个任务( ),其它都交给MapReduce。

转载地址:http://icjqd.baihongyu.com/

你可能感兴趣的文章
Linux内存管理 (透彻分析)
查看>>
N-ary Tree n叉树学习
查看>>
NULL和nullptr的区别
查看>>
bbs段的理解
查看>>
Leetcode:83. 82. Remove Duplicates from Sorted List
查看>>
剑指offer 面试题: 求二叉树的镜像(递归、循环、及测试用例)
查看>>
idea 将代码块抽取为方法 快捷键
查看>>
JAVA 砸金蛋抽奖的简单实现
查看>>
深入实践 Spring Boot PDF 百度云盘下载
查看>>
spring boot 项目部署到服务器 两种方式
查看>>
ElasticSearch 6.x 学习笔记:1.下载安装与配置
查看>>
nginx+tomcat+java部署总结
查看>>
2.6内核下写I2C设备驱动
查看>>
安全篇-为Spinnaker配置LDAP登录和操作认证
查看>>
集成篇——Spinnaker集成常用构件
查看>>
实战篇——用Pipeline完成持续交付实践
查看>>
开源跳板机Jumpserver
查看>>
Hadoop 2.X 动态添加 datanode(详细图文)
查看>>
django celery 结合使用
查看>>
python 鸭子类型
查看>>