大数据概述
三次信息化浪潮
信息科技需要解决**信息存储,信息传输和信息处理**三个问题
大数据时代的技术支持:
1存储设备容量不断增加2CPU处理能力大幅提高3网络宽带不断增加
ByteKBMBGBTBPBEBZB
大数据平台是开发;在集群上的
大数据的五个特点:
数据量大数据类型繁多处理速度快价值密度低真实性
大数据对科学研究的影响四种范式:
实验理论计算数据
大数据对思维方式的影响:
全样而非抽样效率而非精确相关而非因果
大数据两大核心技术:
分布式存储分布式处理
大数据技术的不同层面及其功能
数据采集与预处理数据存储和管理数据处理与分析数据安全和隐私保护
大数据计算模式及其代表产品
云计算的关键技术:
虚拟化分布式存储分布式计算多租户
物联网:物物相连
物联网可分为四层:感知层,网络层,处理层,应用层
物联网的关键技术:
识别和感知技术网络与通信技术数据挖掘与融合技术
大数据,云计算,物联网的区别:
大数据侧重于对海量数据的存储,处理与分析
云计算本质上旨在整合和优化各种IT资源,并为用户提供廉价的服务
物联网的发展目标是物物相连
三者的联系:
云计算为大数据提供技术基础大数据为云计算提供用武之地
物联网是大数据的重要来源大数据为物联网数据分析提提供支撑
云计算为物联网提供海量数据存储能力物联网为云计算技术提供了广阔的应用空间
大数据处理架构Hadoop
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台
Hadoop基于JAVAHadoop的核心是分布式文件系统(HDFS)和MapReduce
Hadoop发展:GFS-NDFS-HDFS
Hadoop的特性:高可靠性高效性高可扩展性高容错性成本低运行在Linux平台上支持多种编程语言
分布式文件系统HDFS
分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统
分布式文件系统的三个组成结构:客户端,主节点(名称节点),从节点(数据节点)
HDFS要实现的5个目标:
兼容廉价的硬件设备
流数据读写
大数据集
简单的文件模型(一次写入,多次读取)
强大的跨平台兼容性
HDFS的应用局限性:
不适合低延迟数据访问
无法高效存储大量小文件
不支持多用户写入及任意修改文件、
块
数据读写的基本单元
1.0时代HDFS默认的一个块的大小是64MB2.0时代默认大小为MB
采用抽象块的好处:1支持大规模文件存储2简化系统设计3适合数据备份
第二名称节点的作用:
1EditLog与FsImage的合并操作
2作为名称节点的“检查点”
冷备份一定会丢失一部分数据
HDFS的命名空间包含目录,文件和块
HDFS体系结构:采用主从结构模型一个HDFS集群中包括一个名称节点和若干个数据节点
HDFS通信协议:所有的HDFS通信协议都是构建在TCP/IP协议基础之上的。
客户端—名称节点客户端协议
名称节点—数据节点数据节点协议
客户端—数据节点RPC协议
客户端是用户操作HDFS最常用的方式
HDFS只设置一个名称节点的局限性:
1命名空间的限制
2性能的瓶颈
3隔离问题
4集群的可用性
HDFS的存储原理:冗余存储(多副本方式)
冗余存储的优点:
1加快数据传输速度
2容易检查数据错误
3保证数据的可靠性
数据存放策略:
1如果是在集群内发起写操作请求,则把第一个副本放置在发起写操作你请求的数据节点上,实现就近写入数据。如果是来自集群外部的写操作请求,则从集群内部挑选一套磁盘不太满,CPU不太忙的数据节点,作为第一个副本很的存放地。
2第二个副本会被放置在与第一个副本不同的机架的数据节点上。
3第三个副本会被放置在与第一个副本相同的机架的其他节点上。
4如果还有更多的副本,则继续从集群中随机选择数据节点进行存放。
数据读取策略:
当发现某个数据块读本对应的机架ID和客户端对应的机架ID相同时,就优先选择该副本读取数据,如果没有发现,就随机选择一个副本读取数据。
数据复制策略:
采用流水线复制的策略
客户端将文件同时写入各个数据节点,复制块的大小为4K。
数据节点出错—HDFS自动调解冗余因子
HDFS与其他分布式文件系统的最大区别就是可以调整冗余数据的位置。
Hadoop在探讨
HDFSHA架构是为了解决单点故障问题(------热备份)
HDFS联邦是为了解决命名空间的问题
HDFS联邦的访问方式:客户端挂载表方式
HDFS联邦相对于HDFS1.0的优势:
1HDFS集群可扩展性
2性能更高效
3良好的隔离性
YARN—资源管理调度框架
YARN的目标:实现一个集群多个框架即在一个集群上部署一个统一的资源调度框架YARN,在YARN之上可以部署其他各种计算框架。
Hadoop生态系统中具有代表性的功能组件
1.Pig提供了类似SQL的PigLatin语言
Pig会自动把用户编写的脚本转换成MapReduce作业在Hadoop集群上运行
2.Tez核心思想是将Map和Reduce两个操作进一步的拆分
3.Kafka2是一种高吞吐量的分布式发布订阅信息系统
核心功能:1数据交换23既支持实时处理,也支持批处理
分布式数据库HBase
HBase是BigTable的开源实现。是一个高可靠,高性能,面向列,可伸缩的分布式数据库。
HBase和传统的关系数据库的区别
HBase是一个稀疏,多维度,排序的映射表,这张表的索引是行键,列族,列限定符和时间戳(四维坐标)
HBase的实现包括3个主要的功能组件:
1库函数(客户端)2一个Master主服务器(名称节点)3许多个Region服务器(数据节点)
Region------HBase的基本存储单元
Region的标识符:表名+开始主键+RegionID
HBase的三层结构:(HBase的三级寻址)
Zookeeper文件
根数据表,又名-ROOT-表
元数据表,又名.MATA.表
HBase是部署在HDFS之上的。
Region服务器是HBase中最核心的模块
Region的工作原理
1用户读写数据教程
2缓存的刷新
3StoreFile的合并
NoSQL数据库
NoSQL-NotOnlySQL
NoSQL数据库的特点:
1灵活的可扩展性
2灵活的数据模型
3与云计算亲密融合
NoSQL的四大类型:键值数据库,列族数据库,文档数据库和图形数据库
NoSQL的三大基石:CAP,BASE,最终一致性
CAP:
C:一致性。即多点的数据时一直的。
A:可用性。即可以在确定时间内返回结果。
P:分区容忍性。即系统中任意信息的丢失或失败不会影响系统的继续运作
CAP理论:一个分布式系统不可能同时满足CAP这3个需求,最多只能同时满足期中两个
NewSQL(NoSQL-NewSQL):目前各种可扩展高性能数据库的简称
数据库分类:OldSQLNoSQLNewSQL
传统数据库(OldSQLNewSQL)和NoSQL各有所长,共同存在,不存在一方被另一方完全替代
云数据库是部署和虚拟化在云计算环境中的数据库。
MapReduce
MapReduce是一种并行编程模型,用于大规模数据集。
MapReduce有两个核心函数Map函数和Reduce函数。
MapReduce将复杂的运行于大规模集群的并行计算过程高度抽象为两个函数
核心思想:分而治之
设计理念:计算向数据靠拢
执行过程:执行用户程序时会被系统分发部署到集群的多台机器上,其中一台机器作为Master,负责协调调度作业的执行。其余机器作为Worker,可以执行Map或Reduce任务。
Spark:基于内存计算的大数据并行计算框架
Spark的特点:运行速度快,容易使用,通用性,运行模式多样。
Scala:面向函数编程
Scala的特点:具备强大的并发性,语法简洁,兼容Java
Spark运行框架:RDD:弹性分布式数据库集,
RDD:一个RDD就是一个分布式对象集合,并提供了一种高度受限的共享内存模型。
RDD之间的依赖关系:分为宽依赖和窄依赖。碰到窄依赖继续扩展,碰到宽依赖停止扩展。
数据采集系统一般分为:Agent、Collector、Store
Strom是一个免费、开源的分布式实时计算系统。
图计算:针对数据是一个图结构。
BSP:整体同步并行计算模型,又称大同步模型。
一次BSP计算过程包括一系列全局超步,每个超步主要包括三个组件:局部计算、通信、栅栏同步。
三驾马车:GFS、MapReduce、BigTable
新三驾马车:Caffeine、Dremel、Pregel
Pregel的计算过程:
(1)当一个顶点不需要继续执行进一步的计算时,就回调用方法吧自己的状态设置成“停机”,从而表示自己不再是活跃顶点。
(2)其他顶点给该顶点发消息时再次把他激活。
(3)所有顶点均到达“非活跃”状态。
预览时标签不可点收录于话题#个上一篇下一篇