当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.6MapReduce文件传递数据

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

5.6MapReduce文件传递数据在线视频

5.6MapReduce文件传递数据

下一节:5.7内存计算的可行性

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

5.6MapReduce文件传递数据课程教案、知识点、字幕

我们来看一下MapReduce中

用文件传递数据的

这样的一个情况

那么假如说

这是一个迭代式的

MapReduce任务

也就是说MapReduce需要经过多次

MapReduce操作

那么第一次MapReduce的

迭代结果将会被写入到HDFS的

分布式系统里面去

然后第二个迭代的MapReduce

会从这个地方去读取这个任务

然后进行计算

然后再写入到HDFS中去

也就是说

每一次MapReduce的迭代都是从

HDFS中读取数据

处理完了以后

又写入到HDFS的系统中

这就是我们刚才讲到的

在这样一个过程里面

MapReduce产生了

非常多的I/O操作

那么对于刚才

我们说的是一个迭代式的

这样的一个MapReduce任务

那么对于一些查询的任务

由于这个每个查询

它也都需要从HDFS的

这个分布式文件系统中

将数据读出来

同样会引入大量的

这个硬盘的I/O操作

所以由于这个数据复制

序列化和磁盘I/O

使得MapReduce的性能是比较差的

大家当然会想

如果我们整个性能的瓶颈

就是硬盘

那么为什么

我们要把这些中间结果

或者是原始数据

都必须要放在这个磁盘中

而不是把它放到内存中

我们知道

我们刚才一直在讲内存的速度

访问速度要比硬盘快很多

那么我们这个图里面

实际上就展示了这样一个方案

也就是说在迭代的MapReduce中

当第一个MapReduce迭代结束之后

我们并不是将结果

写入到HDFS的文件系统中

而是我们把它写入到一个内存中

那么这样的话

第二个MapReduce迭代

它可以直接从内存中

读取数据进行计算

并在计算之后

仍然将结果写入内存中

也就是说这样的一个方式

就在这个中间的这些环节里面

都避免了再去读写硬盘

而是从内存中直接读写数据

这样就大大的提高了性能

那么对于查询类的任务

那么过去我们刚才讲到

MapReduce它是直接从

这个硬盘中查询数据

这样每一个查询都需要引入I/O

那么如果我们在中间

加了这样一块内存

分布式的内存

它如果足够大

可以把这个原始数据

把它缓存在内存之中

也就是说这个时候

这些查询它就不需要

再从硬盘上面去读取数据了

而可以直接从内存中获取数据

来进行查询

这样也同样的就避免了

这个查询时间过长

引入I/O过多的

这样的一个限制

所以这样的方案

它应该能够比采用

硬盘的方案快十倍到一百倍

那么内存计算技术

我们刚才讲到了

这样的一个技术

实际上就是内存计算数据

也就是它用内存来代替硬盘

来保存数据的中间结果

或者是直接在数据源的地方

来做缓存

那么这项技术

实际上得到了国际上的重视

我们知道国际上有个著名的

IT咨询公司

它会每年发布十项战略性技术

那么在它已经发布的

2012年和2013年

内存计算都是处于

其中的比较重要的位置

当然这个大数据

我们可以看到

也是在其中第七名

内存计算在2012年是第八名

在2013年内存计算名列第九名

大数据名列第七名

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

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.6MapReduce文件传递数据笔记与讨论

也许你还感兴趣的课程:

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