背景:2010年前后,大数据、云计算、物联网的快速发展,拉开了第三次信息化浪潮的大幕。
大数据时代的技术支撑:
数据产生方式的变革促成了大数据时代的来临:
大数据的发展历程:
大数据有“4V”的说法,分别表示:数据量大(Volume)、数据类型繁多(Variety)、处理速度快(Velocity)和价值密度低(Value)
数据量大:
数据种类繁多:
处理速度快:
价值密度低:
大数据对科学研究、思维方式、社会发展、就业市场和人才培养都有影响。
大数据对科学研究的影响:
大数据对思维方式的影响:
大数据对社会发展的影响:
大数据对就业市场的影响:
大数据对人才培养的影响
可用于:制造、金融、汽车、互联网、餐饮、电信、能源、物流、城市管理、生物医学、体育娱乐、安全领域、个人生活等。
大数据的计算模式包括:批处理计算、流计算、图计算、查询分析计算等
批处理计算:
流计算:
图计算:
大数据、云计算和物联网代表了IT领域最新的技术发展趋势,三者相辅相成。
云计算:
物联网:
大数据与云计算、物联网的关系:
Hadoop是一个开源的、可运行于大规模集群上的分布式计算平台,它实现了MapReduce计算模型和分布式文件系统HDFS等功能
Hadoop是基于Java语言开发的,核心是MapReduce和HDFS;
Hadoop的特性:
Hadoop的应用现状:
除了核心的HDFS和MapReduce之外,还包括ZK、HBase、Hive等
Hadoop2.0中新增了一些重要的组件,即HDFSHA和Yarn
HDFS:
HBase:
MapReduce:
Hive:
Pig:
ZooKeeper:
Flume:
Sqoop:
大数据时代必须解决海量数据的高效存储问题,HDFS是针对GFS的实现,是Hadoop两大核心组成部分之一,具有在廉价服务器集群中进行大规模分布式文件存储的能力,且具有良好的容错能力
分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统
计算机集群结构:
分布式文件系统结构:
分布式文件系统的设计需求:
HDFS在设计上采取了多种机制保证在硬件出错的环境下实现数据的完整性
HDFS要实现以下目标:
HDFS的局限性:
块、名称节点、数据节点、第二名称节点
块:
名称节点:
数据节点:
第二名称节点:
HDFS采用主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点和若干个数据节点;
名称节点作为中心服务器,负责管理文件系统的命名空间和客户端对文件的访问;
数据节点一般是一个结点对应一个进程,负责处理文件系统客户端的读写请求,在NN的调度下进行数据块的创建、删除和复制等;
每个数据节点会周期性地向名称节点发送“心跳”信息,报告自己的状态,没有发送的被标记为“死机”,不再分配IO请求
文件访问:
HDFS命名空间管理:
客户端:
HDFS体系结构的局限性:
数据的冗余存储、数据存取策略、数据错误与恢复
数据的冗余存储:
数据存取策略:
数据错误与恢复:
FileSystem介绍:
读数据的过程:
写数据的过程:
HBase是对谷歌BigTable的实现,是一个高可靠、高性能、面相列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。
从BigTable说起:
HBase简介:
HBase与传统RDB对比分析:
HBase提供了NativeJavaAPI,HBaseShell,ThriftGateway,RESTGateway,Pig,Hive等多种访问方式
数据模型概述:
数据坐标:
概念视图:
物理视图:
面相列的存储:
HBase的功能组件、表和Region、以及Region的定位
HBase的功能组件:
表和Region:
Region的定位:
HBase系统架构、Region服务器、Store和HLog
HBase系统架构:
Region服务器工作原理:
Store的工作原理:
HLog的工作原理:
在大数据时代,数据类型繁多,包括结构化数据和非结构化数据,传统的RDB力不从心
NoSQL是一种不同于RDB的数据库管理系统设计方式,是对非RDB的统称;NoSQL没有固定的表结构,通常也不存在连接操作,也没有严格的ACID约束
NoSQL的特点:
尽管RDB的事务和查询机制较好地满足了业务数据管理需求,但是现已力不从心
兴起的原因:
键值数据库:
列族数据库:
文档数据库:
图数据库:
CAP、BASE和最终一致性
CAP:
BASE:
最终一致性:
大数据时代除了需要解决大规模数据的高效存储问题,还需要解决大规模数据的高效处理问题。
分布式并行编程可以大幅度提高程序性能,实现高效的批量数据处理
MapReduce是一种并行编程模型,用于大规模数据集的并行运算,将复杂的、运行于大规模集群上的并行计算过程高度抽象为两个函数:Map和Reduce
分布式编程:
MapReduce模型简介:
Map和Reduce函数:
MapReduce的各个执行阶段、Shuffle
工作流程概述:
MapReduce的各个执行阶段:
Shuffle简介:
Map端的Shuffle过程:
Reduce端的Shuffle过程:
Hadoop的优化与发展主要体现在两个方面:一方面是Hadoop自身两大主键MR和HDFS架构改进;另一方面是Hadoop其他组件的丰富