大数据技术原理与应用
本文是对《大数据与云计算导论》课程知识点的应试总结。基本涵盖了《大数据技术原理与应用》的重点内容。
思维导图由@福尔摩东整理
第一章 大数据概述 1、三次信息化浪潮注:信息化浪潮每15年一次。
2、信息科技为大数据时代提供技术支持存储设备容量不断增加
存储单位:bit、Byte、KB、MB、GB、TB、PB、EB(ZB、YB、BB、NB、DB)
CPU处理能力大幅提升
网络带宽不断增加
3、大数据的特点(5个) 数据量大(Volume)数据类型繁多(Variety)处理速度快(Velocity)价值密度低(Value)真实性(Veracity) 4、大数据的影响 1、大数据对科学研究的影响人类自古以来在科学研究上先后经历了实验、理论、计算和数据四种范式:
第一种范式:实验科学第二种范式:理论科学第三种范式:计算科学第四种范式:数据密集型科学 2、大数据对思维方式的影响 全样而非抽样效率而非精确相关而非因果 5、大数据关键技术 数据采集与预处理数据存储和管理数据处理与分析数据安全和隐私保护 6、大数据计算模式通过网络提供可伸缩的、廉价的分布式计算能力
2、云计算的关键技术 虚拟化:云计算基础架构的基石分布式存储分布式计算多租户 8、物联网 1、概念物物相连的互联网
从技术架构上来看,物联网可分为四层:感知层、网络层、处理层和应用层
2、物联网关键技术 识别和感知技术(二维码、RFID、传感器等)网络与通信技术数据挖掘与融合技术 9、大数据与云计算、物联网的关系 区别:大数据侧重于海量数据的存储、处理与分析,从海量数据中发现价值,服务于生产和生活;云计算本质上旨在整合和优化各种IT资源,并通过网络以服务的方式廉价地提供给用户;物联网的发展目标是实现物物相连,应用创新是物联网发展的核心。联系:大数据、云计算和物联网三者相辅相成。大数据根植于云计算,大数据分析的很多技术都来自于云计算,云计算的分布式数据存储和管理系统提供了海量数据的存储和管理能力,分布式并行处理框架MapReduce提供了海量数据的分析能力;大数据为云计算提供了“用武之地”;物联网的传感器源源不断产生的大量数据,构成了大数据的重要来源,同时物联网需要借助于云计算和大数据技术,实现物联网大数据的存储、分析和处理。 第二章 大数据处理框架Hadoop 1、Hadoop简介Hadoop是一个开源分布式计算平台
Hadoop的核心包括:HDFS(前身:NDFS)和MapReduce。
2、Hadoop的特性 高可靠性高效性高扩展性高容错性成本低运行在Linux平台上支持多种编程语言 第三章 分布式文件系统HDFS 1、HDFS含义Hadoop分布式文件系统,是GFS的开源实现
2、DFS含义分布式文件系统(DFS)是一种通过网络实现文件在多台主机上进行分布式存储的文件系统
3、分布式文件系统的结构 主节点(Master Node):名称节点(NameNode)从节点(Slave Node):数据节点(DataNode) 4、分布式文件系统的设计需求分布式文件系统的设计目标主要包括:透明性、并发控制、可伸缩性、容错以及安全需求等。
5、HDFS特性 1、目标 兼容廉价的硬件设备流数据读写大数据集简单的文件模型强大的跨平台兼容性 2、局限性 不适合低延迟数据访问无法高效存储大量小文件不支持多用户写入及任意修改文件 6、HDFS相关概念 1、块以数据块为单位进行存储(1.0默认64MB)
**目的:**最小化寻址开销
好处:
支持大规模文件存储简化系统设计适合数据备份 2、名称节点和数据节点名称节点的核心数据结构:FsImage和EditLog。
作用:
Edit log与FsImage的合并操作作为名称节点的“检查点”(冷备份) 7、HDFS体系结构 1、HDFS命名空间管理HDFS的命名空间包含目录、文件和块。
HDFS集群中只有一个命名空间,并且只有唯一一个名称节点。
2、通信协议 构建在TCP/IP协议基础之上使用客户端协议与名称节点进行交互名称节点和数据节点之间使用数据节点协议进行交互客户端与数据节点的交互通过RPC实现 3、局限性 命名空间的限制性能的瓶颈隔离问题集群的可用性 8、HDFS的存储原理数据的冗余存储、数据存取策略、数据错误与恢复
1、数据的冗余存储优点:
加快数据传输速度容易检查数据错误保证数据的可靠性 2、数据存取策略 1、数据存放冗余因子默认为3。
**内部请求:**第一个副本放置在写操作请求的数据节点上;
**外部请求:**挑一个不太忙的数据节点,第二个副本放置在不同于第一个副本的机架的数据节点上,第三个副本放置在第一个副本的机架的其他数据节点上。
2、数据读取当发现某个数据块副本对应的机架ID与客户端对应的ID一样时,优先选择该副本,否则就随机。
3、数据复制采用流水线复制的策略(4KB)
3、数据错误与恢复 9、HDFS常用命令 hadoop fs -gethadoop fs -put 第四章 分布式数据库HBase 1、HBase含义Hadoop DataBase(HBase)是针对谷歌BigTable的开源实现。
2、HBase与传统关系数据库的对比分析HBase是一个稀疏、多维、持久化存储的映射表,它采用行键、列族、列限定符和时间戳进行索引。
2、数据坐标“四维坐标”:[行键,列族,列限定符,时间戳]
4、HBase实现原理 1、HBase的功能组件 库函数一个Master主服务器许多个Region服务器 2、Region的定位Region标识符:“表名+开始主键、RegionID”
5、HBase运行机制 1、HBase系统架构 2、Region服务器的工作原理每个Region对象又是由多个Store组成的,每个Store对应了表中的一个列族的存储。
每个Store又包含了一个MemStore和若干个StoreFile。
6、HBase常用Shell命令 create:创建表list:列出HBase中所有的表信息put:向表、行、列指定的单元格添加数据get:通过指定表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值scan:浏览表的相关信息 第五章 NoSQL数据库 1、NoSQL简介 1、含义Not Only SQL
2、特点 灵活的可扩展性灵活的数据模型与云计算紧密融合 2、NoSQL的四大类型CAP理论最多同时满足三个中的两个。
CA。强调一致性(C)和可用性(A),放弃分区容忍性(P)。
eg:传统的关系数据库(MySQL、SQL Server等)。
CP。强调一致性(C)和分区容忍性(P),放弃可用性(A)。
eg:Neo4j、BigTable和HBase等。
AP。强调可用性(A)和分区容忍性(P),放弃一致性(C)。
eg:Cassandra、Dynamo等。
2、BASEBASE
BA(Basically Available):基本可用S(Soft-state):软状态E(Eventual consistency):最终一致性ACID:一个数据库事务具有ACID四性
A(Atomicity):原子性C(Consistency):一致性I(Isolation):隔离性D(Durability):持久性 4、三个数据库阵营 OldSQL(传统关系数据库)NoSQLNewSQL 第六章 云数据库 1、云数据库概念云数据库是部署和虚拟化在云计算环境中的数据库。
2、云数据库的特性 动态可扩展高可用性较低的使用代价易用性高性能免维护安全 第七章 MapReduce 1、MapReduce简介MapReduce是一种分布式并行编程框架,以Map和Reduce为核心函数。
MapReduce的设计理念:计算向数据靠拢。
Map函数和Reduce函数都以<key,value>作为输入。
2、MapReduce的工作流程 第八章 Hadoop再探讨 1、针对Hadoop的改进与提升优势:
HDFS集群可扩展性性能更高效良好的隔离性 3、新一代资源管理调度框架YARN 1、YARN体系结构YARN体系结构包含了三个组件:
ResourceManagerApplicationMasterNodeManager 2、YARN的发展目标YARN的目标就是实现“一个集群多个框架”,即在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算框架。
3、Hadoop生态系统中具有代表性的功能组件 1、Pig提供了类似SQL的Pig Latin语言。
Pig会自动把用户编写的脚本转换成MapReduce作业在Hadoop集群上运行。
2、TezTez是Apache开源的支持DAG作业的计算框架。
核心思想:将Map和Reduce两个操作进一步拆分。
3、Kafka一种分布式发表订阅消息系统。
满足在线实时处理和批量离线处理。
第九章 Spark 1、Spark简介Spark是基于内存计算的大数据并行计算框架。
特点:
运行速度快容易使用通用性运行模式多样 2、Scala简介Scala是一门多范式编程语言,面向函数编程。
3、Spark运行架构 1、基本概念 RDD:弹性分布式数据集DAG:有向无环图 2、RDD**概念:**分布式对象集合。
依赖关系:
窄依赖:一个父RDD的分区对应于一个子RDD的分区,或多个父RDD的分区对应于一个子RDD的分区;宽依赖:存在一个父RDD的一个分区对应于一个子RDD的多个分区。 第十章 流计算 1、流计算概述 1、流计算概念流计算即针对流数据的实时计算。
2、批量处理和实时处理 2、流计算的处理流程 数据实时采集数据实时计算实时查询服务 3、开源流计算框架Storm Storm的设计思想:Streams
流数据(Streams)是一个无限的Tuple序列。
Spouts
Spouts是Stream的源头,会从外部读取流数据并持续发出Tuple。
Bolts
Bolts既可以处理Tuple,也可以将处理后的Tuple作为新的Streams发给其他Bolts。
Topology
Spouts和Bolts组成的网络。
Stream Groupings
用于告知Topology如何在两个组件间进行Tuple的传送。
4、Spark StreamingSpark Streaming与Storm的对比
Spark Streaming无法实现毫秒级的流计算,而Storm则可以实现毫秒级响应。
第十一章 图计算 1、图计算概述**含义:**对图结构的计算。
**BSP模型:**整体同步并行计算模型,又名“大同步模型”。
一次BSP计算过程包括一系列全局超步(超步就是指计算中的一次迭代),每个超步包括3个组件:
局部计算通信栅栏同步 2、Pregel简介Pregel是一种基于BSP模型实现的并行图处理系统。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |