(4)hadoop学习——mapreduce已死?
来源:互联网 发布:人工智能机器人 编辑:程序博客网 时间:2024/05/23 18:32
Hadoop的另一个核心,就是MapReduce,简单来说四个字:分而治之。
举个例子,我开了一家面馆,一开始知名度不够,每天也就卖个十几二十碗,一个人工作还感觉很闲。随着时间推移,知道我家面馆的人越来越多,十里八方的人都赶来吃,没办法,味道好呀!销量从几十变成了几百,甚至要上千碗。一个人肯定忙不过来了,那就招人吧,十个人揉面,十个人煮面,十个人拌酱,十个人擦桌端碗,这样勉强能服务得过来。
在上面的例子中,每个人其实就是一个map或者一个reduce,客人的需求好比现在的市场,"面"好比现在爆炸性的数据。数据分析界有一句话:我们不需要数据,我们只需要结果。因为数据很多,但最主要的是通过数据你能得出什么结果。当然啦,其实数据也异常重要,百度首席科学家——吴恩达,前不久刚离职。业界议论纷纷,说是出去自己搞无人车自动驾驶了,但据“知情人士”爆料,百度内部其实分两个研发团体,一个是李彦宏亲自扶持的吴恩达团队,另一个是存在已久的搜索团队。吴恩达拿不到搜索团队的数据,模型想要出结果自然困难,可以看出数据对于一个模型是多么重要。
扯远了,回到MapReduce。前面的文章已经介绍过hdfs,它是一个分布式存储系统,大数据量的文本存储在上面
会被分成块,存在不同节点上。相当于把一大坨面分成好几十坨面,一个人揉不了,分几十个人揉,总能揉了吧?既然
数据已经在hdfs上了,要计算的时候直接在节点上计算,速度也就加快了。hadoop提倡“移动计算比移动数据高效。”,
即尽量在数据节点上跑MR程序。
所以MR适合做一些大文本的处理工作,比如计算大型网站日志中各个ip地址出现的次数,或者从哪个网页跳转到
淘宝的次数最多,只需开启MR,在每个数据节点上计算,计算完之后再合并结果,速度比直接计算大文件快很多(直接计算很有可能都跑不起来)。
MapReduce分Map阶段和Reduce阶段,Map是各个数据节点的计算,Reduce是合并Map结果的阶段。
看一个wordcount的图片,比较好理解一些。
下一篇讲hive,对于MR,大家了解一下便好,不用刻意去写,因为,它可能要被淘汰了(真正编写mr程序的公司很少,因为hive能帮助我们解决很多问题,再加上spark的流行,mr的地位岌岌可危)。
- (4)hadoop学习——mapreduce已死?
- Hadoop学习(四)— MapReduce入门
- hadoop mapreduce 学习(-)
- Hadoop权威指南学习(一)——关于Mapreduce
- Hadoop-2.3.0学习(5)——mapreduce程序
- Hadoop学习笔记——MapReduce
- Hadoop学习笔记(二)——MapReduce
- 【Hadoop学习笔记】——MapReduce
- Hadoop学习笔记—4.初识MapReduce
- Hadoop学习笔记—4.初识MapReduce
- Hadoop-2.3.0学习(4)——第一个简单的mapreduce程序
- 一、MapReduce已死,Spark称霸
- Hadoop——MapReduce
- Hadoop—MapReduce
- VCL已死,RAD已死(4)
- VCL已死,RAD已死(4)
- hadoop — MapReduce例子 (求平均值)
- Hadoop 学习笔记——mapreduce框架详解
- 基数转换子程序
- Java多线程编程
- [leetcode]Top K Frequent Elements
- Tango 点云 demo 代码阅读笔记
- MVC基础
- (4)hadoop学习——mapreduce已死?
- 一个简单,组合强大de SQL
- 算法训练 P1103
- 算法训练 安慰奶牛 C语言
- Java中获取Mysql中datetime类型的数据
- sizeof(struct)
- 3026 恶心的扑克
- 文章标题
- 数据结构顺序表删除重复元素