当前课程知识点:大数据系统基础 >  4. 处理框架 >  授课视频 >  4.4MapReduce数据流

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

4.4MapReduce数据流在线视频

4.4MapReduce数据流

下一节:4.5MapReduce性能优化与容错

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

4.4MapReduce数据流课程教案、知识点、字幕

下面我们通过这一个图解

来看一下

MapReduce的数据流

到底是怎么流的

MapReduce这个程序

在Google里的MapReduce

它是基于Google的

很多的基础架构的

比如说

它基于google的任务调度

以及基于GSS的这些个的

它有很多的东西在帮助它

来完成这个系统

一会儿我们会讲到

开源实现的Hadoop

它没有这些个帮助

它自己实际上

实现了很多的任务调度

这些个理念

因此Google的MapReduce

它是更专注于数据流的问题

所以这个整个这个架构

看起来会更简单

所以我们先用它Google

这个是Google MapReduce

它的文章里头表现的一个架构

在Google的MapReduce里

实际上是

用户在自己的工作站

或者在自己登陆的那台服务器上

它起了一个运行了

一个MapReduce程序

这个MapReduce程序

记得它就是一个Map的函数

和一个Reduce的函数

跟它运行本地的程序

是一模一样的

那这个程序在启动之后

它会生成一个Master的进程

以及N多个Worker的进程

这个Master进程就负责管理

所有的运行的状态

它只负责处理

这个运行中的原数据

它只处理状态数据

它并不处理实际的数据

这没有任何的数据往它那流

所以它有一个Master就足够了

这跟那个GFS的namenode

或者是NTFS的Master是一个概念

Master负责管理任务 调度任务

所以 它把正常的

这些Worker分成两组

一部分跑Map

一部分跑Reduce

那么

它跟这个负责跑Map的Worker说

或者一个Worker当然可以

先跑Map后跑Reduce

这个都是可以来回调度的

但是每个时间

它或者跑Map 或者跑Reduce

那Master跟它说你来跑这个Map

那么Master告诉它什么

告诉它你要跑Map

你跑哪个Map函数

我把这个函数

已经传给你了

为什么传给它了

因为User Program

直接fork了这个Worker

所以它自己里头有那个Map的函数

那么Master告诉它说

你去怕Split0

那么Split0在GFS里的某一个位置

它把这个文件名传给它

那么它

就到GFS里头去把这个零号文件

或者零号文件里头的这一块

读过来

然后它就开始跑Map

那它刚才可能跟它说

是不是1也归你跑

可能是Map把Split1对应的

那一块也拿过来

这一个工具叫做读取的过程

读取数据的过程

这一块是用网络的

但是只用的是这个

相当于访问存储的这种

用网络的方式

那么之后

Worker把数据读取进来之后

它就会对在这数据上

调用这个Map的函数

另外函数用户写的

写出来的之后

它把Map函数的结果

当然调了Emit

Emit之后

它就会写成不同的shares

刚才我们讲到的

这些shares会写到它自己的硬盘上

所以它这一部叫local write

或者叫运行Map这么的一个过程

这么一个过程

当它的一个Map运行完了

那么它就写出来了一个short

就当一个Map运行完

只要它一个short一写完

那么这个Master就知道了

这个Map进行完了

那么Map的

记得Map是要比

这个worker要多很多的

所以Master会告诉它

你在进行其它的Map

但是在这个时候

反正它这个输出的

这个Map的输出这些shares

已经写好了

那么Reduce就开始运行了

这个Master就说

这儿有个shares写好了

你赶快把它读过来吧

所以这个Reduce就开始

做这个remote write的这个操作

就会把已经写好的

这些shares

它需要的那些

记住它是根据读哪个shares

是根据Reduce的编号来的

它读跟它编号一样的shares

它把那些个shaers

都拷贝到自己的硬盘上

当它把

认为这一个所有Map生成的

这个相关的shares

都拷过来之后

那么它就会自己做一个排序

生成了这个Reduce的file

它就是说做了一个排序

排序好了之后

它会针对排序

和组合出来的这个结果

它一次一次的

调用Reduce的这个函数

这个函数是用户写的

然后Reduce函数

最后一行是以Emit

这个Emit的时候

它就会把结果

直接写到输出的文件里头

输出的文件这个也是在GFS上

当然这个也是通过网络写了

写在GFS上

所以它最后

每一个Reduce输出的结果

就会变成GFS身上的一个文件

这个就是MapReduce

从数据上来讲是怎么运行的

所以这边是一个GFS

后边最后一个是一个GFS

它从GFS进从GFS出

中线的结果

中线的这边的操作和这边的操作

都是在本地的

中线只有一个数据交换

是通过网络的

这样稍后的这么一个过程

这里头并行化贯穿了

这里头的各个方面

首先各个Map是并行运行的

各个Reduce也是并行运行的

就算是Map和Reduce之间

它也想到了各种办法

能让它并发运行

比方说

我并不等着所有的Map都结束

我才做这个shares的过程

我是只要写出一个shares来

我就可以把shares

读到那个Reduce里头去

在这种情况下

它可以让网络的读取

不那么集中

而就是因为在Map的过程中

主要是CPU在计算嘛

然后在

(00:04:55)的过程中主要是网络

它可以让网络和CPU

之间有足够多的并行

并且所以整体的并行化的

这个思想贯穿了整个的

这个(00:05:05)

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

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

4.4MapReduce数据流笔记与讨论

也许你还感兴趣的课程:

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