当前课程知识点:大数据系统基础 > 4. 处理框架 > 授课视频 > 4.14章节总结
这个近些年
MapReduce和PIG
这样的系统
都有了非常长足的发展
大数据也是个非常热门的
这么的一个题目
我们来看一看
目前MapReduce处于什么状态
它之后的发展方向是什么
Hadoop在前两年
我们介绍Hadoop都是这样介绍
就像我们课上讲的那种Hadoop
它是一种Hadoop1.0的状态
那么我们底下跑的是文件系统
HDFS仿照的Google的gfs
上面跑的MapReduce
刚才MapReduce我们提到了
它的资源管理和调度
和数据处理
它是绑定在一起跑的
在之上我们可以跑PIG
可以跑Hive
或者可以跑其他的cascade
这一系列的这些东西
这是我们在现阶段的Hadoop
现在Hadoop已经发展到了
2.0的时代
虽然没有讲到这些
是因为Hadoop2.0它并没有
真正地反映它的MapReduce
这种基本的架构是什么
它的几个核心要点的变化
是什么
一个是它把资源集群的管理
从MapReduce中抽取出来了
它把集群资源的管理
作为单独的一个服务
叫做Yarn
作为这个跑在集群上
MapReduce反而成了
这个管理上头的
只是一种服务
那么PIG可能是变成了
另一种服务
Hive变成了另外一种服务
都是由这个资源集群管理的
这个管理系统
通过这个执行的引擎
然后来进行
在这种情况下
MapReduce的框架
实际上MapReduce的语言本身
就变得会更简单
不像我们刚才讲的那些
它既有资源管理和调度
它既有job-kill
它自个儿要判断
到底在哪里执行
它又要实际地执行
所以MapReduce它可以
自己专心地管理它的
执行的过程
但是执行引擎
包括它的资源管理
他们把它切分开了
这样变得更加结构化
而且在Hadoop2.0这是一个
(01:52)的这个项目里头
它又吸收了一系列的
其他的服务
比如说storm 比如说Gigraph
这一系列的服务
也可以跑在Yarn上面
甚至于可以跑一个完整的
就是(02:04)的数据库
那么叫做HBase
也是跑在Hadoop上面的
跑在HDFs上的
但是HDFs变成了一个标准的
这个存储能够支持各种各样的
这种服务
这个是Hadoop正在变化的方向
或者说目前已经变化成这样了
现在Hadoop2点几发布了
一段时间了
也基本比较成熟了
所以现在大家如果用到的
Hadoop2点几的话
它都是带Yarn这个管理
资源管理框架的
Hadoop这个东西
发展的这些年
它最重要的为什么大家
非常关注它
因为它积累了一个非常强大的
生态系统
就很多的东西都是基于它的
首先有一系列的这个
它的应用
包括一系列的应用和搜索引擎
这些东西
nutch是一个开放的open的
搜索引擎
然后它可以用来处理什么
它可以用来处理一系列的
比如说是半结构化数据
或者非结构化的数据
那么我们有这个像
像这个PIG
像HIVE这样的
更高层级的抽象
然后我们有一个workflow的
management比如说像cascading
它是可以manage一堆的
Hadoop的job
它可以有一些
workflow management
然后它可以做 统一一些个数据
它可以当成一个数据库来用
比如说HBASE
它可以存机构化数据
有些人实现了什么
这一系列的东西
它可以实现结构化数据
甚至于有些人实现了
更高层次的抽象
比如说像mahout
我们后面会讲到
它会
就是一个机器学习的库
你可以直接
不用编任何程序
就在一个数据上运行一些
机器学习的算法
它也是在Hadoop上运行
然后最后它还有一些个
企业级应用的集成
比如说BI
就是商业情网
Business Intelligence
这一系列集群可以做一些
非常漂亮的图表
可以非常漂亮的前端
然后你跑一个集群
它必然有一系列的工具
来维护你的集群的运行
就是软硬件的这种
基础架构的运行
所以它也有一系列的
管理的系统
比如像eclipse这样的东西
它可以帮助你更好地开发它
Ganglia这些东西
可以更高地帮助你监控
这种机器的使用率等等
但是一切都是
这些东西就像Hadoop的
文件系统它的中心就是
一个是Hadoop的文件系统
加上Hadoop的MapReduce
当然现在我们把MapReduce
拆开之后
变成了一个Hadoop的
资源管理器
叫Yarn
以及它的MapReduce
这是它的执行任务的一个引擎
所以Hadoop这个项目
它之所以成功
是因为它成功地代替的
这一整套的
这样的一种生态系统
所以说这个Hadoop
它是big data这件事情
能够飞速发展的一个
非常重要的助推器
当然是不是Hadoop这玩意儿
大家就觉得它特别的牛
然后特别的(04:43)
这个事可说
有些人
很多人都认为Hadoop是个
非常非常好的一个系统
或者说MapReduce
Hadoop本身是照着
MapReduce的论文来做的
那就是说谷歌发明MapReduce
是不是一个非常非常地
创新的东西呢
大部分人认为是的
但是有些人尤其是这个
做了很多时间database的人
他们会有另外的看法
他们说其实这些东西
没有什么新的
且它扔掉了无数的
database领域
就数据库领域
几十年来的研究成果
这些人全部都忽略掉了
然后他们才想到了
MapReduce这种东西
所以它这两个人
都是非常有名的
做数据库方面的教授
他们联合写了一个博客文章
叫做MapReduce:A major
step backwards
所以他指出MapReduce
这几点是非常的差的
就是说大家觉得
你明明可以有更好的办法做
为什么不做
那么首先第一点
说在编程模式里头
它往后退了一大步
大家早就知道
SQL怎么写了
大家早就知道我们不应该
去直接操作数据
我们应该去写这种declared
而且声明式的语言
像SQL那样的语言
为什么大家还想写MapReduce
这是一
就是没有编程模式
没有这种合理的抽象
第二 他说是一个无
不优化的方法来实现的
你想搜索任何一个数据
那数据库里头怎么搜索数据
它有各种各样的方法
它有各种各样的排序的方法
如果它没有排序的话
它可以建议索引
这个数据库的人研究的
30年 40年他才研究了
这些东西
那么说MapReduce
那你把这些乱七八糟的
研究全部扔掉
然后你说我怎么找到一个数据
那我全部扫描一遍
我才能找得到
那暴力法
第三点 他说这个东西
一点都不创新
任何一个MapReduce讨论了
包括map
包括reduce
包括它的(06:30)
包括它的数据可以分割
包括它的(06:35)
包括这种它的整个的partion
包括MapReduce
一个map接一个reduce
这种模式
在25年之前
这个数据库领域
大家就发明了这种方法
并行的数据库也是这种执行的
只不过大家没这么说而已
因为它只是编程数据库里
一个巨小的一个方面
说它这个东西
没有什么可创新的
最后一点就是说
目前数据库里头已经实现了
那么多的功能和特点
它这里都没有
比如说索引
比如说有更新
有事务处理transaction
比如说它有constrained
就是说我这个数据
应该是什么样的
如果不是这样的
我数据库拒绝把它放进去
比如我可以定义很多逻辑视图
我说这个数据
虽然我在磁盘上存的
和我看见的是不一样的
这叫逻辑试图
叫view(音)
说这些东西是数据库研究了
那么多年
数据库慢慢积累起来的东西
MapReduce里都不包括
然后它还声称
它是一个非常新的概念
这是为什么大家还愿意用它
其实它初期散发出来的
MapReduce
其实它确实什么功能都没有
但是为什么要用它
我们可以大家
其实同学们可以自己想一想
但是我理解这个原因是
因为一 MapReduce这个东西
它足够的简单
二 因为它足够的简单
所以它能够扩展的规模很大
你看分布式数据库
它扩展的功能一般都
没有那么大
因为它扛了太多的包袱
扛了太多的东西在那里
第三
就是说太抽象的东西
它一步走不到大数据的那一步
就数据库虽然有了
这么多好的索引
这么多好的访问方式
那么多好的优化
但是毕竟它不是为了大数据
特殊优化出来的
那么人们想跑大数据
人们历史(音)就要跑大数据
我历史有这个需求
我等着你数据库
优化大这个地步
还需要等很长很长的时间
大家才能够为大数据
来调整那个数据库
所以我们不如重新写一个
短平快的解决方案
能够凑合着把它做上
这个总比我等着数据库要强
所以我觉得这个是
大家可以值得想的
什么样的系统
才是有用的系统
那么MapReduce确实解决了
在当时大家的一个
非常痛的地方
就是我没办法解决
处理这些数据
那时候的数据库
都处理不了这种问题
但是是不是后期
它会变得越来越抽象
high level的语言会不会
变得越来越普及
MapReduce会不会被淘汰
这种东西我觉得
个人有个人不同的看法
大家可以自己在实践的过程中
可以自己想一想
这个事情究竟应该是
如何来做的
或者说什么东西更适合你
什么东西更适合你自己的应用
今天的这节课就到这里
谢谢大家
-授课视频
--什么是大数据
--大数据典型应用
--大数据的特点
--大数据技术体系
--大数据生态系统
--大数据技术挑战
--课程内容
-1. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7