当前课程知识点:互联网大规模数据分析技术 >  第五章 大数据平台与技术 >  第10讲 大数据处理平台Hadoop >  第10讲 大数据处理平台Hadoop

返回《互联网大规模数据分析技术》慕课在线视频课程列表

第10讲 大数据处理平台Hadoop在线视频

下一节:第11讲 MapReduce编程

返回《互联网大规模数据分析技术》慕课在线视频列表

第10讲 大数据处理平台Hadoop课程教案、知识点、字幕

大家好

欢迎来到

互联网大规模数据分析技术

的课堂

我是今天的主讲教师李琳

来自武汉理工大学

今天我们开始了解

大数据处理平台Hadoop的

一些基本概念和使用方法

我们这门课程大部分要关注到

大规模的数据计算

对于数据挖掘领域当中的作用

那么在这里

我们将面临两大主要的挑战

第一是如何实现分布式的计算

第二是分布式并行编程

是怎么来做的

在这里Hadoop平台

以及Map-reduce的编程方式

解决了上面的几个问题

这是谷歌的一个

最基本的计算模式

并且对于大规模数据的分析

和处理是一种非常有效的方法

在今天的课程当中

我们将从以下4个方面来了解

大规模数据处理平台Hadoop

这是一张图

大家可以看到

这是传统的计算机的

这样一个处理模式

我们有CPU

我们有内存

通过内存卡当中的

数据的存储和读取

我们可以进行一些简单的

数据分析工作,或者叫做统计

那么当数据量大的时候怎么办呢

我们有了硬盘

我们把大量的数据存在硬盘当中

借助传统的数据挖掘技术

从关系数据库当中

去读取一些内容

完成数据分析

这一种方式

我们把它叫做单机的编程模式

可以看到在传统的数据挖掘当中

我们需要数据库

我们需要设计一个复杂的软件

通过这样一个复杂的软件

与数据库进行交互式的操作

从而去处理这些数据

并且把数据最终的结果

反馈给用户

我们来看一下谷歌的解决方案

首先我们可以看到谷歌

这样一个大规模数据的公司

它面临的数据量

已经达到了TB级

我们考虑到一台电脑从硬盘当中

去读取数据的话

每秒钟30到35兆

这样的大小的数据

去把整个谷歌

所存储的网页去读完

需要花4个月的时间

需要至少1000个硬盘

去存储这样的数据

所以这样的方式

远远无法满足我们现实的

实时查询和交互式查询的需求

所以谷歌在这样一种背景下

提出了一种标准的架构

来解决这样的问题

在这一个架构下面

我们有两个点需要大家来关注

第一

我们需要计算节点去组成集群

大家注意一下

这个单词代表集群的意思

那么同时这些点组成集群之后

我们是通过网络

将这些点去连接到一起

从而完成计算和数据的分发

接下来我们来看一下

它究竟是一种什么样的架构

在这样一种集群式的架构当中

我们可以看到两个计算机之间

我们是通过Switch

也就是交换机

将它们连接在一起的

并且我们看到这样一组数据

1Gbps

也就是说这里的网速

我们是要求非常高的

通过高速的网络

将计算机连接在一起

完成数据的分发和任务的分配

那么多个计算机连到一起

我们需要多个交换机来实现互联

大家可以看到

在主干网上

我们对交换机速度的要求

会达到更高

也就是当CPU

完成高速的运算之后

我们要把结果及时和其它的CPU

或者是计算机来进行交互

这必然需要我们高速的网络

来帮助我们完成

2011年

我们估计谷歌

已经有100万台以上的计算节点

来完成大规模的数据分析

这是谷歌数据中心的实景图

在谷歌的数据中心当中

我们发现了有大量的计算机

所组成的计算节点

我们把数据和任务

分发成小的部分

同时呢

我们把这些部分

给许多计算机来参与运算

同时

最终我们要把这些结果进行收集

从而得到最终的运算结果

所以在这里我们可以看到

大规模的计算当中

我们需要把数据分发出去

把任务分发出去

最终再把最终的结果和数据

收集起来完成我们的计算

所以在大规模的数据计算当中

我们需要有一定的硬件条件

这样的硬件条件保证了我们

能够完成分布式的计算

保证了计算在出现问题

或者是机器在出现问题的时候

能够快速的恢复

我们理想的解决方案是什么呢

我们要把数据在网络当中

进行传播

在传播数据的时候

虽然是借助了高速的网络

仍然会花一定的时间

解决方案当中

就要把数据和计算任务

进行一个local

也就是说局部化的处理

将这台计算机要完成的任务

和它所需要的数据放到一起

从而达到快速计算的目的

那么我们谷歌所提出的

Map-reduce这样一种编程模式

解决了上面的问题

能够很好地进行

大规模的数据分析

在这样一个大规模数据分析当中

除了我们待会在下次课堂当中

要讲的编程模式之外

我们还需要一个文件系统

来存储我们的数据

帮助我们的编程模式完成计算

在这里面

Hadoop这样一个开源的平台

集成了这样一些元素

来实现我们的运算

大家可以看到

它是一个Open Source

也就是一个开源的项目

任何人都可以去下载它的源代码

进行安装和使用

那么其次

Hadoop的运行

是使用的Map-reduce

这样一种编程的思想

其次

Map-reduce

允许大规模的数据分析

在不同的计算的集群当中

去传递数据和分发任务

所以这样地

完成了我们分布式处理

大家可以看一下这个图标

Hadoop是一只大象这样的标志

在整个Hadoop架构当中

我们有4个主要部分来组成

第一个部分大家可以看到

我们叫Hadoop的Common

这个Common主要是一些

java的库

所以知道了我们Hadoop

这样一个开源平台

是以java语言为主的

第二个呢Hadoop当中

还有YARN这样一个调度平台

所谓的调度是进行资源的分配

和数据的分发

那么接下来在调度上面

我们需要建立Hadoop的

分布式文件系统

在这里我们简称HDFS

当所有的这样一些元器件

被组成之后

我们能够在上面

完成分布式的编程

那么分布式文件系统的

这样一个工作

它主要由

一些块数据的服务器来组成

每一个大的文件

被分解成若干个块儿

而一般来说我们会把这样一些块

分成16到64MB

那么每一个数据块

必须要被重复也就是做备份

被重复多少个呢

一般是2个到3个来进行备份

大家注意一下

这个备份

不是在一台计算机上

去做多个数据的备份

我们是要在

不同的计算机节点上面

去备份这样一个数据

在我们的分布式文件系统当中

就有一个Master节点

或者

在我们的Hadoop当中

我们把它叫做Name Node

它能够存储文件的一些信息

从而知道文件存在哪里

有几个备份

这个Master节点

就起到一个中央控制的作用

我们还有一些客户端的节点

客户端的节点

就通过和master节点呢

进行信息交互

完成数据的存储和分发

以及任务的传送

大家可以通过这样一个图

可以看到

在这里面我们有C0这样一个数据

在server1上面

我们有C0这样一个数据在

serverN上面

那也就是体现了

我们刚才一个思想

我们数据作多个备份

但是备份到不同的电脑上面

Hadoop平台

已经从1.0变化到了2.0

那么在1.0到2.0的变化当中

我们的2.0增加了YARN

这样一个调度平台

同时

除了Map-reduce的编程之外

我们还可以

接入其他的一些编程框架

来满足我们不同数据处理的要求

这是整个Hadoop的生态系统

大家可以在这里看到

有我们的分布式文件存储系统

有我们的分布式调度系统

我们有Map-reduce

这样一个离线操作

我们还可以加入Spark

我们后期会介绍的

这样一种内存计算

以及在这个之上的

各种数据库管理

这个整个构成了

我们Hadoop的生态系统

大家如果希望在

一些大规模数据分析的平台上

去进行一些实战

和实例的演示的话

可以选择我们一些开源的平台

比如说我们的Hadoop平台

这是我们今天主要介绍的内容

在这个里面

大家可以在这个网址上

去Download它的一些源代码

进行安装

同时

我们也有一些不开源的项目

比如像谷歌内部的

这样一个谷歌自己的平台

以及Aster Data

这样一个集群的、结构化的

查询语言的数据库

同样的

它也实行了Map-reduce的编程

那么同时和大数据平台

比较相似的或者是相辅相成

我们还有云计算的平台

在云计算的平台当中

大家可以利用这些云计算的平台

按照什么来租用呢

按照小时可以租用这些计算资源

来完成

你的大规模数据分析的处理

也就是说

你只要把数据交给云平台

云平台按小时计费

来帮助你们完成数据分析

你不用去搭建平台

不用去管理平台

不用去维护平台

这就是我们云计算的一些概念

那么今天的课程就到这里

感谢大家的观看

互联网大规模数据分析技术课程列表:

第一章 大数据与数据挖掘概述

-第1讲 大数据与数据挖掘概述

--第1讲 大数据与数据挖掘概述

第二章 关联规则

-第2讲 频繁项集和关联规则的基本概念

--第2讲 频繁项集和关联规则的基本概念

-第3讲 Apriori算法

--第3讲 Apriori算法

-第4讲 Apriori算法的改进与兴趣度度量

--第4讲 Apriori算法的改进与兴趣度度量

第三章 分类算法

-第5讲 分类的基本概念

--第5讲 分类的基本概念

-第6讲 决策树

--第6讲 决策树

-第7讲 简单贝叶斯分类

--第7讲 简单贝叶斯分类

第四章 聚类算法

-第8讲 聚类的基本概念

--第8讲 聚类的基本概念

-第9讲 K-Means & K-Medoids Clustering

--第9讲 K-Means & K-Medoids Clustering

-第四章 聚类算法--习题

第五章 大数据平台与技术

-第10讲 大数据处理平台Hadoop

--第10讲 大数据处理平台Hadoop

-第11讲 MapReduce编程

--第11讲 MapReduce编程

-第12讲 大数据处理平台Spark

--第12讲 大数据处理平台Spark

-第13讲 NoSQL数据库

--第13讲 NoSQL数据库

第六章 信息检索

-第14讲 Web信息检索简介

--第14讲 Web信息检索简介

-第15讲 信息检索之倒排索引

--第15讲 信息检索之倒排索引

-第16讲 信息检索之TFIDF

--Video

-第17讲 信息检索之相似度排序

--第16讲 信息检索之TFIDF

第七章 Web链接分析

-第18讲 Web搜索之链接分析

--第18讲 Web搜索之链接分析

-第19讲 Web搜索之PageRank

--第19讲 Web搜索之PageRank

-第20讲 Lucene信息检索平台

--第20讲 Lucene信息检索平台

-第七章 Web链接分析--习题

第八章 推荐系统

-第21讲 推荐系统简介

--第21讲 推荐系统简介

-第22讲 推荐系统之协同过滤

--第22讲 推荐系统之协同过滤

-第23讲 Mahout数据挖掘平台

--第23讲 Mahout数据挖掘平台

-第24讲 信息过滤评价体系

--第24讲 信息过滤评价体系

-第八章 推荐系统--习题一

-第八章 推荐系统--习题二

自我提升练习

-综合编程题

第10讲 大数据处理平台Hadoop笔记与讨论

也许你还感兴趣的课程:

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