当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.5内存计算需求

返回《大数据系统基础》慕课在线视频课程列表

5.5内存计算需求在线视频

5.5内存计算需求

下一节:5.6MapReduce文件传递数据

返回《大数据系统基础》慕课在线视频列表

5.5内存计算需求课程教案、知识点、字幕

下面我们来介绍内存计算的需求

我们前面学到的MapReduce

应该说开创了大数据

处理的一个时代

那么在2004年谷歌发表了它的

MapReduce论文以后

整个业界都为之轰动

雅虎公司为首的公司牵头开展了

开源社区Hadoop的开发

那么Hadoop实际上

就是MapReduce的一个开源的实现

那么MapReduce

它的成功之处在哪儿

那么首先用户只需要

编写串行程序

系统能够自动的进行

并行化和分布式的执行

另外我们刚才也讲到

MapReduce它可以做到自动容错

而且它还可以做到

自动的负载平衡

也就是说如果说某一个任务

执行的时间很长

那么系统可以自动的

把这个长时间执行的任务

把它分配到一些新的

节点上面去执行

这样的话使得

比如说这个任务执行很长

它的原因是由于这个

节点能力比较差

那么我们就可以把这个任务

放到一个新节点上

去执行就使得这个

一个比较快的节点

去执行这个任务

使得它也可以尽快的结束

另外如果说某些节点

原来给它分配的任务

它很快就执行完了

那么它可以再要到

一些新的任务来执行

所以MapReduce就可以让用户

不用去考虑容错

负载平衡和并行化执行

同步等等这样的一些

非常繁琐而且很容易出错的问题

而只需要集中精力

编写串行程序就好了

但是MapReduce

虽然取得了巨大的成功

它仍然不能够满足

用户对大数据处理的

所有要求

那么用户在用了

MapReduce以后

实际上会发现

它还有一些新的需求

MapReduce不能满足

比如说用户会需要一些

更复杂的多阶段任务

也就是并不是一个简单的

像我们说的page rank

word count这样的一些

简单的任务

而是一些相对来说

比较复杂的多阶段任务

比如说Key means

比如说最短路径等等

像这类问题使用Map Reduce

单个MapReduce任务

其实是很难解决的

它要么采用迭代的方法

要么采用多个MapReduce

任务集成来完成

那么用户也不希望说

我们提交一个MapReduce

任务以后需要等上几分钟

甚至几十分钟

甚至更长时间才能够拿到结果

我们现在很多大数据分析

非常期望能够做到

交互式的查询

也就是说我提交了

对大数据的一个查询

和分析任务之后

我希望能够在几秒钟

到几十秒钟的时间内

能够返回结果

那么这样MapReduce

就很难满足这样的要求了

Map Reduce的局限性

为什么它不能够满足

这个要求我们在这儿

列了它的三个局限性

第一个是

它的表达能力有限

它只有Map和Reduc两种操作

但是我们知道

实际上我们需要很多

其他类型的操作

比如说filter过滤

也就是说我们可能要从

一个数据集中找出

符合某种标准的

子数据集也许我们需要

把一个数据集和另一个数据集

合并起来等等

这些操作在MapReduce中

都没有直接的定义

通常需要通过比较复杂的

组合才能够完成

另外复杂的任务

通常需要迭代的MapReduce

这样就需要将中间的结果

保存在硬盘上

而这些就必然产生大量的

I/O操作我们前面讲过

一个随机的内存访问

比一个随机的硬盘访问

大概要快十万倍

但是即使我们能够做到

这个不是随机的硬盘访问

而是连续的硬盘访问

I/O操作还是会造成

性能的急剧下降

还是比访问内存要慢

两到三个数量级

那么引入的I/O操作过多

就必然产生一个结果

就是它的性能比较差

因此只能做离线分析

很难支持数据的交互式查询

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

5.5内存计算需求笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。