IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 《大数据技术原理与应用》 复习笔记 (桂林电子科技大学) -> 正文阅读

[大数据]《大数据技术原理与应用》 复习笔记 (桂林电子科技大学)

桂林电子科技大学 大数据课程 复习笔记
考试范围
教材:《大数据技术原理与应用》第三版 林子雨
第1章:大数据概述 🎉
第2章:大数据处理架构Hadoop 🎉
第3章:分布式文件系统HDFS 🎉
第4章:分布式数据库HBase🎉
第5章:NoSQL数据库🎉
第7章:MapReduce🤷?♂?
第9章:数据仓库Hive
第10章:Spark
第11章:流计算(Storm)

第1章 大数据概述

重要知识点:
1、大数据的4V
数据量大:在Web2.0时代、网络用户数目极大,在视频、照片社交软件火热的今天,用户产生的数据量非常大。
数据类型繁多:有金融大数据、医疗大数据、城市大数据等等。
处理速度快:1分钟,新浪微博产生2万条微博,Twitter产生10万条推文。
价值密度低:例如监控视频的存储,没有调取监控视频用时可能价值并没有体现,但在使用时可能会产生很大的价值。

2、大数据的应用
智能汽车、能源、体育与娱乐等等、大数据应用非常广泛。

3、大数据关键技术
数据采集与预处理、数据存储和管理(HDFS)、数据处理与分析(如MapReduce)、数据安全和隐私保护。

4、大数据计算模式
批处理计算:对大规模数据的批量处理 (MapReduce、Spark)
流计算:针对流数据的实时计算(Spark)
图计算:针对大规模图结构的数据的处理
查询分析计算:大规模数据的存储管理和查询分析(Hive)

5、大数据与云计算、物联网的关系

云计算为大数据提供技术基础、大数据为云计算提供用武之地。
物联网是大数据的重要来源、大数据技术为物联网数据分析提供支撑。
云计算为物联网提供海量数据存储能力,物联网为云计算技术提供了广阔的应用控件。

第2章 大数据处理架构Hadoop

1、Hadoop的核心
HDFS是分布式文件存储系统(Hadoop Distributed File System) 、也是Hadoop的核心。

2、Hadoop的特性
高可靠性 、高效性、高可扩展性 、高容错性 、成本低 、支持操作系统与编程语言广泛

3、HDFS常用命令
创建文件夹(-p 递归创建) hadoop fs -mkdir -p /user/hadop
显示文件内容 hadoop fs -cat hdfs文件
文件上传 hadoop fs -put 本地 hdfs文件
删除文件夹 hadoop fs -rm -r hdfs文件夹
删除文件 hadoop fs -rm hdfs文件
切换目录:cd
查看文件与目录:ls -R(-R在hdfs为递归查看)
删除空目录:rmdir
复制文件或目录:cp
裁剪:mv
创建文件:touchz
拉取文件 get

第3章 分布式系统 HDFS

1、 HDFS计算机集群结构
分布式文件系统把文件分布存储到多个计算机节点上、成千上万的计算机节点构成计算机集群。

2、 HDFS的结构
一个默认块大小为64MB,如果一个文件小于一个数据块的大小,在分布式文件系统,它并不占用整个数据块的存储空间。
名称节点负责文件和目录的创建、删除、和重命名等,同时管理着数据节点和文件快的映射关系。
数据节点负责数据的存储和读取,在存储时,由名称节点分配存储文职,客户端将数据直接写入相应数据节点。
为了保证数据的完整性,文件块会被赋值为多个副本存储到多个不同的节点上,而存储同一文件块的不同副本又会分布在不同的机架上。

3、 HDFS特点
优点:
兼容廉价的设备硬件。
流数据读写:支持流式方式来访问文件。
大数据集:单个文件可达到GB甚至TB级别
简单的文件模型:一次写入,多次读取。
强大的跨平台兼容性。
缺点:
不适合低延迟数据访问。
无法高效存储大量小文件。
不支持多用户写入及任意修改文件。

4、 HDFS的相关概念(重点)
重点:块、名称节点和数据节点与第二名称节点。
:HDFS文件块的大小默认为64MB,一个文件会被拆分为多个块进行存储。(相关知识点:MapReduce中的Map任务一次只能处理一块中的数据。)
采用块抽象化的好处:支持大规模文件存储、简化系统设计、设和数据备份。
名称节点负责管理分布式文件系统的命名空间,保存了FsImage和EditLog.
FsImage用于维护文件系统树以及文件树中所有的文件和问价夹的元数据。
EditLog(操作日志文件)记录了所有针对文件的创建、删除、重命名、等操作。
名称节点存储文件名与文件在数据节点中的位置的映射关系、但并不是持久化存储在名称节点,而是当名称节点启动时扫描分布式文件系统得到的。
名称节点启动?将FsImage加载到内存-> 重新执行EditLog->建立新的空FsImage和EditLog->工作记录时使用新的FsImage和EditLog当变大后系统写入到总的FsImage和EditLog内(工作模式请看第二名称节点)

数据节点 负责数据的存储和读取,根据客户端和名称节点的调度进行数据的存储和检索。也会定时向名称节点汇报自己的存储块列表信息。

第二名称节点:
功能:完成FsImage和EditLog的合并操作,减小EditLog文件大小。
EditLog和FsImage的合并操作:
在这里插入图片描述

5、 HDFS体系结构
主从结构
客户端向名称节点请求文件名或者数据块号,名称节点将数据块号、数据块位置发送至客户端。
客户端与数据节点通信进行数据的读写操作。HDFS集群只有一个名称节点,其带宽、计算性能会影响整个系统的性能。

HDFS命名空间管理
HDFS集群只有一个命名空间,即/ some/some /some /some… ,向Linux的文件目录结构一样。

通信协议
HDFS通信协议建立在TCP/IP基础之上。
名称节点与数据节点采用数据节点协议进行交互。
客户端与数据节点交互通过远程过程调用(RPC)

HDFS体系结构局限性
命名空间限制、性能瓶颈(原因靠名称节点)、隔离问题(一个命名空间、和一个名称节点无法做到读写权限分配等)、集群可用性(一个名称节点)

6、 HDFS的存储原理
多副本冗余存储,加快了数据传输的速率、容易检查数据错误、保证数据的可靠性。

存放策略
HDFS默认的冗余复制因子是3,每一个文件块被保存到3个地方。
(1) 如果是集群内发起的写操作,则把第1个副本放置发起写操作请求的数据节点上,实现就近写入数据,如果集群外发起写操作,则在集群内选一个磁盘空间充足且CPU不太忙的数据节点,做为第1个副本的存放位置。
(2) 第2个副本被放置在与第1个副本不同的机架的数据节点上。
(3) 第3个副本会被放置在与第1个副本相同的机架的其他节点上。
(4) 如果还有更多的副本、则继续从集群中随机选择数据节点进行存放。

在这里插入图片描述

在这里插入图片描述

读取策略
客户端请求名称节点获取文件块不同副本的存储位置,由客户端确定从哪里获取文件块。

数据复制
文件在客户端被切分成多个块,名称节点返回数据节点列表。
客户端向一个数据节点写入,同时把数据节点列表传给第一个数据节点,当第一个节点接收数据大小4KB时并像列表第二个数据接待你发起写请求,将数据写入第二个数据节点、当第二个数据节点接收到4KB时向第三个数据节点执行类似操作。最后当文件写完时,数据的复制也同时完成了。

名称节点出错补救方案
一:远程挂载到NFS上
二:运行一个第二名称节点,能够进行有限的补救(第二名称节点中由FsImage和EditLog),但还是会可能遗失拉去FsImage和EditLog后,名称节点的一系列操作。
数据节点出错补救方案
数据节点定期向名称节点发起”心跳“,没有”心跳”时,名称节点不再向其分配读写任务,且一旦发现某些块的复制因子小了,名称节点又会安排任务,进行文件块复制。
数据出错
客户端采用MD5和SHA-1校验,出错将向名称节点汇报,请求其他副本,名称节点也会定期检查块。

第4章 分布式数据库HBase

1、HBase是什么?
一个高可靠、高性能、面向列、可伸缩的分布式数据库。
2、HBase与Hadoop其他部分关系。
使用MapReduce处理海量数据,ZooKeeper作为协同服务。HDFS底层数据存储。Pig和Hive提供高级语言支持。
3、HBase与传统数据库对比。
数据类型:采用未经解释的字符串。
数据操作:行键查询、只有简单的插入、查询、删除、清空等。
存储模式:列式存储。
数据索引:行键索引。
数据维护:并不删除原来的数据。
横向可伸缩性:面向列存储。
缺陷:不支持事务、无法实现跨行原子性。
4、HBase数据模型
行键:任意字符串,最大64KB。
列族、列限定符(列名,不需要提前定义好)。
单元格,每个单元格可以存储多个版本、每个版本对应一个时间戳。
事件戳:每次对单元格执行操作,HBase会隐式自动生成并存储一个时间戳。
数据坐标:[行键、列族、列限定符、时间戳]
5、概念视图与物理视图
概念视图:逻辑模型,认为规定建立。
在这里插入图片描述

物理视图:
在这里插入图片描述

在物理视图中,空的列并不会被存储为null,而是不会存储,当请求空白的单元格时返回null。

6、 面向列的存储
从严格的关系数据库角度来看,HBase并不是一个列式存储的数据库,HBase是以列族为单位进行分解的,而不是每个列都单独存储。

7、 HBase实现原理
与HDFS具有很多相似之处、有一个Master节点负责HBase表的分区信息,表被分为Region存储到多个Region服务器,Master会检测Region服务器 工作状态、负责性能均衡。客户端并不从Master获得数据,从ZooKeeper获得Region位置,从Region服务器中拉取数据。

8、 表和Region、Region的定位

在这里插入图片描述

9、 HBase系统架构
客户端:缓存Region位置、与Master进行RPC通信、与Region服务器RPC通信进行数据的读写。
Zookeeper服务器:通常由集群组成,每个Region服务器要到Zookeeper服务器注册,Zookeeper实时监控Region,Master通过Zookeeper感知Region服务器状态。
Master服务器:管理用户对表操作、Region服务器的负载均衡、Region分裂与合并、Region迁移(如有Region服务器故障时)
Region服务器:Region存储、向客户端提供访问接口。

10、 Region服务器工作原理
在这里插入图片描述

第5章 NoSQL数据库

1、 NoSQL特点
灵活的可扩展性、灵活的数据模型、与云计算紧密耦合。

2、 NoSQL与Web2.0
无法满足海量数据的管理需求、无法满足高并发的需求、无法满足高可扩展性和高可复用性的要求。
Web2.0网站系统通常不需要严格的数据库事务、并不要求严格的读写实时性、通常不包含大量复杂的SQL查询。

3、 NoSQL的四大类型
键值数据库、列族数据库、文档数据库、图数据库。

4、 NoSQL三大基石,CAP、BASE、最终一致性。
C (Consistency) :一致性,指任何一个读操作总是能够读到之前完成的写操作的结果,在分布式环境中、多点数据是一致的。
A(Availability):可用性。指快速获取数据,且可以在确定的时间内返回操作结果。
P(tolerance of network partition):分区容忍性,当出现网络分区的情况,分离的系统可以正常运行。

组合:
CA 强调一致性和可用性,可扩展性较差。
CP 强调一致性和分区容忍性,当出现网络分区的情况时,受影响的服务需要的等待数据一致,因此在等待期间就无法对外提供服务。
AP 在采用AP设计时,可以不完全放弃一致性,转而采用最终一致性。

BASE
A(atomicity)原子性:对数据的修改、要么全部执行、要么全部不执行。
C(Consistency)一致性:在事务完成时,必须是所有数据都保持一致状态。
I(Isolation) 隔离性:并发事务所作的修改必须与其他并发事务所做的改变隔离。
D(Durability) 持久性:事务完成后、对系统的影响是永久性的。

最终一致性
是弱一致性的特例,允许后续的访问操作可以暂时读不到更新后的数据,但经过一段时间后,用户可以读到更新后的数据,最终一致性也是ACID的最终目的,只要最终数据是一致的就可以了,而不是每时每刻都保持实时一致性。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:37:22  更:2021-11-09 19:37:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:27:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码