当前课程知识点:高级大数据系统 > MapReduce > Learn MapReduce by playing with cards > Video
我们来讲MapReduce
下面我们通过一个小游戏
来给大家来介绍怎么用
MapReduce做一个非常简单的任务
这个游戏的名字叫做用
MapReuduce来对扑克进行排序
我这里有一副扑克
扑克大家知道有四种不同的花色
梅花 方片 红桃 还有黑桃
我们现在就要把这幅扑克给排序出来
我们来看看用计算机来怎么做这件事情
这张A4纸代表了一台服务器
我的双手呢
就来演示这个排序的算法
怎么来做呢
我们来看
那么当我看到一张这个花色的时候
我会把它放到一个固定的位置
它是另外一个不同的花色
把它放到这个位置
红桃 一个新的位置
方片是已经有了
所以把它排到这个有的位置上
这是黑桃
这是梅花
这个算法呢
实际上可以看得出来
它是在串行的进行着
我们也找到一个数据
会把它放到指定的位置上
通过我的手的模拟呢
实际上实现的是今天计算机
对相同的任务所进行的操作
这样呢
我们就把这四个牌四种颜色的扑克给分开了
我们把数据进行整理
把它变成一个数据
一个数据集的数据进行一个整理
这个数据进行整理
这个数据进行整理
我们实际上得到了四种花色的扑克牌
完成了依次排序
现在想我们想做的一件事情就是说
用并行的方式
用我们已经说过的MapReduce的这个方法
把这个速度给加快
我们怎么来做呢
我们找来一台新的服务器
现在我们有了两台服务器
大家可以看到服务器一和服务器二
那么一样 我们把刚刚的数据打散
我们把扑克重新打乱
我们来进行这样一个分布式的一个计算
怎么做呢
我们把数据分成了两部分
并不要求两部分的数据严格的一样
只要把它分成两部分就可以了
分别会在两台机器上进行
在第一台机器上
我们依然运行刚刚说过的这个算法
我们把不一样的颜色给挑出来
由于我们刚刚已经做过这件事情
有很多没有被完全打乱
所以现在我们分起来相对是比较容易的
不过大家应该可以知道我的这个意思是什么了
我们就把这个速度可以加快
在这台机器上的算法运行完了
那么另外一台机器是同时进行的
因为我现在只有一个人
所以我把它分开进行
实际上这两个过程是可以完全并行起来的对吧
所以这边也进行了这样的一个运算
我们分别在两台服务器上运行的这样一个算法
两台机器上对数据进行了独立的这个数据的排序
我们还有下一步怎么做呢
我们现在就进行到了
MapReduce中的Reduce的阶段
我们让这台机器来做
比如说方片和梅花的Reduce
也就是说把方片和梅花都归总到这台机器上
而让这台机器来做另外两种
就是黑桃和这个红桃的Reduce
我们来看怎么做
那么在这个过程中
实际上就会发生网络的传输
我们需要从这台机器上把方片的数据传到这边来
那么它的过程是这样
这些数据会根据他们的花色被提取出来
然后通过网络传输到这边
这台机器上的梅花也经历了同样的事情
从这台服务器通过网络传输到这台服务器
对应的从这台服务器会把黑桃的数据传输到这边
从这边把红桃的数据传到了这边
同样我们也把这个四种花色给排序开了
那么他们分别存储到了这个两台服务器上
有了这两个过程之后
我们实际上把扑克牌的四种颜色也区分开了
那么它完成的这样一个作用呢
和刚刚我们在单机上进行的一个过程是完全一致的
-What is big data and what is big data system?
--Video
-Problems in big data systems?
--Video
-Overview of the course
--Video
-Principles of big data system design
--Video
-Manipulating Data on Linux
--Video
--Video
--Video
-Basics of Linux Data Processing--Manipulating Data
-Running Commands on a Single Machine
--Video
-Running Commands on a Single Machine--作业
-Using a Linux Cluster
--Video
-Using a Linux Cluster--作业
-Storage for Big Data Computing: Distributed file system
--Video
-Storage for Big Data Computing: Distributed file system--作业
-File system and GFS
--Video
-File system and GFS--作业
-Understanding HDFS using Legos
--Video
-Understanding HDFS using Legos--作业
-File System Implementation and DFS
--Video
--Video
-File System Implementation and DFS--作业
-What is MapReduce and why
--Video
-What is MapReduce and why
-Learn MapReduce by playing with cards
--Video
-Processing pattern
--Video
-Processing pattern--作业
-Hadoop
--Video
-Hadoop--作业
-Algorithms in MapReduce
--Video
-Algorithms in MapReduce--作业
-Tutorial
--Video
-Background
--Video
-Background--作业
-Spark
--Video
-Spark--作业
-Use Spark for data mining
--Video
-Use Spark for data mining--作业
-Spark data processing
--Video
-Spark data processing--作业
-Experiment in Spark
--Video
-Experiment in Spark--作业
-Introduction to streaming data processing
--Video
-Introduction to streaming data processing--作业
-Storm
--Video
--Video
--Video
-Storm--作业
-Spark streaming
--Video
--Video
-Spark streaming--作业
-NoSQL introduction
--Video
-NoSQL introduction--作业
-Common Advantages
--Video
-Common Advantages--作业
-Bigtable
--Video
-Bigtable--作业
-Master Startup
--Video
-Master Startup--作业
-HBase
--Video
-HBase--作业
-What is GraphDB and Graph data processing
--Video
-What is GraphDB and Graph data processing--作业
-Graph systems
--Video
-Graph systems
-Example of a GraphDB
--Video
-Example of a GraphDB--作业
-Mahout
--Video
-Mahout--作业
-Case Study: Recommendation
--Video
-Case Study: Recommendatio作业
-Recommendation in Mahout
--Video
-Recommendation in Mahout--作业