当前课程知识点:高级大数据系统 >  In-memory Processing >  Background >  Video

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

Video在线视频

Video

下一节:Video

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

Video课程教案、知识点、字幕

在之前的课程当中

我们讲了这个分布式文件系统

我们讲了map-reduce

那么今天我们会讲一个

在近几年来

变得非常流行的

这种数据处理的模式

in-memory data processing

内存化的数据处理

那么它的典型的

这个平台是spark

由UC Berkeley大学

做出来的一个原型

现在已经成功的商业化了

那么今天我们来看

为什么要用这种内存化的

数据处理

它有什么样的好处

那么它的趋势会是什么样的

那么它的系统结构

它的一些局限性用在什么地方

那就是我们今天这堂课的内容

那么近几年来

使用这种我们能够简单的部署

能够通过scale out的原则

进行组织的这样一个集群

来进行大规模数据的分析

已经成为了一个今天的一种常态

那么不管是工业界

还是在学校

在研究所里面

用map-reduce

用spark来进行数据分析

已经成为一种

大家通用的一个做法

那么在这种模式底下

大家实际上多多少少

还是需要去对数据分析的

这种任务进行一定的调整

比如说我需要把我的程序

按照map-reduce

里面要求的

这样一个map-reduce的

一个框架进行一个调整

才能达到数据处理的

分布化这样一个要求

那么在这样的一个趋势底下

实际上越来越多的人

他们会观察到今天的

这种分布式的环境

它的一些缺点

那么我们以map-reduce

来为例来看

那么map-reduce它是

一个什么样的数据处理的模式呢

实际上它是从持久化的这种

分布式文件系统到

分布式文件系统这样一个数据的

一个操作的流程

从storage到storage

这样一个流程

我们看数据被map

从分布式文件系统的

各个节点中读取出来

然后进行一定的处理

然后进行中间的这个shuffle

最后到达reducer节点

那么reducer会把这些数据

进行一定的整合

然后进一步

最后存储到

这个分布式文件系统里面去

那么完成了

一次map-reduce的过程

在实际的系统当中

用户真正用map-reduce来

处理任务的时候

实际上这个过程

是会被反复的进行

我们把它叫做迭代化

那么它的一个常态是什么样呢

那么用户会把很多的这个

job串联成一个流程

那么数据被反复的

从分布式文件系统里面读出

然后写入到分布式文件系统

然后再被读出再被写入

那么这个过程会反复的进行

那么大家知道实际上在

大数据处理的这个过程当中

实际上IO从分布式文件系统

从磁盘把数据读取出来

写入到内存

然后再从内存读取出来

写入到硬盘这个过程

实际上是比较耗时的

那么整个这种迭代

就会带来很多的开销

而实际上这些开销

有很大的部分是可以避免的

比如说前一个job的输出

正好就是后一个job的

这个输入的时候

那么我们反复的进行读写

实际上浪费了

这个中间读和写的这样一个时间

那么对最终的这个数据处理

其实没有好处的

那么在这样的一个背景下

in-memory data processing

就被提了出来

in-memory data processing

它的一个思路是什么样呢

就是我们想要把这种需要被反复

写入到磁盘的

这样一个操作给去掉

让这部分数据直接在内存当中

那么我们对它进行下一步的操作

以及下一步之后的其他的操作

直到所有的操作完成

用户需要输出的时候

我们再把它写入到

分布式文件系统

或者输出给用户

那么设计了

这样一个数据处的方案

那么它天生就能够解决迭代

这种操作

同时它还可以潜在地支持

这种交互性的数据处理

那么所谓交互性数据处理

就是说今天随着这个数据的行业

越来越发展

其实很多的数据的这种从业者

他们在真正处理数据的时候

其实并不会从一开始

就能够想清楚

这个数据到底应该按照什么样的

流程来做

他们会不断的去尝试进行操作

进行试错

然后进行这个回溯

然后进行不同的方案的测试

最终来达到一个这个完整的方案

那么当完整方案生成之后

他们会把这个过程给流程化

但是在他尝试的这个阶段

这些过程是一个交互的过程

那map-reduce实际上

也对这种交互的过程

并不是非常的友好

我们在之前的课程中已经知道了

map-reduce需要

用户的任务进行排队

需要等很长的时间

在分布式文件系统里面

把所有的结果生成出来

所以他对交互

其实天然是不是那么好的支撑的

那么为了支撑这种迭代化交互化的

这种数据操作

也是今天数据工程师

需要的这种操作

那么spark被提了出来

那么spark

它利用数据在内存中的这种特性

将一系列可以在

内存中完成的操作

那么把它限定在内存当中

同时将很多操作进行延迟的执行

使得部分操作可以

非常快的给到用户一个反馈

那么用户在完成一系列的操作之后

才去得到最终想要的结果

那么

这是in-memory data processing它的

一个基本的背景

和它基本的一个动机

和那么我们可以看到

我们在对map-redeuce和

in-memory data processing

的这样一个划分当中

我们把它放到了同一层面

实际上我们认为这两种模式

在未来的这种工业界

会变得非常的重要

一种是对企业的这种流程的数据

进行批量的这个处理

使用map-reduce这种模式

一种对于这种探索性的数据

迭代性的数据

进行有效的这个处理

in-memory data processing

那么这两种分析方法

我们认为会是未来进行并行的

数据处理的一个基础

高级大数据系统课程列表:

Introduction to Big Data Systems

-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

Basics of Linux Data Processing

-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--作业

Distributed File System

-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--作业

MapReduce

-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

In-memory Processing

-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--作业

Streaming Data Processing

-Introduction to streaming data processing

--Video

-Introduction to streaming data processing--作业

-Storm

--Video

--Video

--Video

-Storm--作业

-Spark streaming

--Video

--Video

-Spark streaming--作业

NoSQL

-NoSQL introduction

--Video

-NoSQL introduction--作业

-Common Advantages

--Video

-Common Advantages--作业

-Bigtable

--Video

-Bigtable--作业

-Master Startup

--Video

-Master Startup--作业

-HBase

--Video

-HBase--作业

Graph Processing

-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--作业

Machine Learning System

-Mahout

--Video

-Mahout--作业

-Case Study: Recommendation

--Video

-Case Study: Recommendatio作业

-Recommendation in Mahout

--Video

-Recommendation in Mahout--作业

Video笔记与讨论

也许你还感兴趣的课程:

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