赞
踩
概要介绍
大数据整理
。
往期文章
数据可视化思维导图
网页设计整理归纳[Linux系统编程/网络编程] 笔记目录
[STL]六大组件介绍(目录 全)
[计算机网络]笔记+题库解析目录[2021]文章目录
- 第一章
- 第二章
- 第三章
- 第四章
- 第五章
- 第六章
- 第七章
- 第八章
- 第九章
- 1 .spark的特点(注意支持语言)
- 2 .Scala的特性(了解)
- 3 .Hadoop 存在如下一些缺点
- 4 .Spark与Hadoop 的对比(主要说明Spark优点)
- 5 . spark设计理念(可再具体参考ppt)
- 6 .spark的生态系统包含的几大组件
- 7 .spark的生态系统组件的应用场景
- 8 .基本概念(见ppt)
- 9 .Spark运行基本流程
- 10 .RDD运行原理(注意黑体)
- 11 .RDD的特性(高效计算的原因)
- 12 .RDD的依赖关系(窄依赖 宽依赖 )
- 13 .RDD在Spark运行过程
- 14 .Shark到sql流程(待补充)
- 15 . Spark SQL中的 Catalyst
- 16 .Spark 三种部署方式
- 16 .Spark RDD 的基本操作(待补充)
- 最后更新时间2020/1/8
- 总结
在思维方式方面:大数据完全颠覆了传统的思维方式:全样而非抽样、效率而非精确、相关而非因果
在社会发展方面:大数据决策逐渐成为一种新的决策方式,大数据应用有力促进了信息技术与各行业的深度融合,大数据开发大大推动了新技术和新应用的不断涌现。
在就业市场方面:大数据的兴起使得数据科学家成为热门职业。
在人才培养方面:大数据的兴起,将在很大程度上改变中国高校信息技术相关专业的现有教学和科研体制。
:云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者相辅相成,既有联系又有区别
高可靠 高效性 高可扩展性 高容错性 成本低 运行在Linux平台上,支持多种编程语言
,即增加了分布式资源调度管理框架YARN 和 HDFS HA
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
其中 name 标签表示配置项的名称 value 表示配置的值。
hadoop.tmp.dir表示存放临时数据的目录,即包括NameNode的数据,也包括DataNode的数据。该路径任意指定,只要实际存在该文件夹即可
name为fs.defaultFS的值,表示hdfs路径的逻辑名称
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property></configuration>
dfs.replication表示副本的数量,伪分布式要设置为1
dfs.namenode.name.dir表示本地磁盘目录,是存储fsimage文件的地方
dfs.datanode.data.dir表示本地磁盘目录,HDFS数据存放block的地方
- 兼容廉价的硬件设备
- 流数据读写
- 大数据集
- 简单的文件模型
- 强大的跨平台兼容性
1. 不适合低延迟的数据访问
2. 无法高效存储大量小文件
3. 不支持多用户写入及任意修改文件
HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位,块的大小远远小于普通文件系统,可以最小化寻址开销
名称节点
数据节点:
名称节点负责管理分布式文件系统的命名空间,保存了两个核心的数据结构,即FsImage EditLog并且名称节点记录了每个文件中各个块所在的数据节点的位置信息。
FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作
第二名称节点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上。
补充
(所有更新操作写入Editlog,导致过大,每次名称节点重启的时候把Fsimage里面所有内容映射到内存,再一条一条执行EditLog中的记录会非常的慢当Editlog文件非常大)(引出第二名称节点)
修改时间:2021/1/10 第一点
概述:
目的:为了保证系统的容错性和可用性
优点:加快数据传输速度
加快数据传输速度
容易检查数据错误
保证数据可靠性
什么是多副本:通常一个数据块的多个副本会被分布到不同的数据节点
第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点
第二个副本:放置在与第一个副本不同的机架的节点上
第三个副本:与第一个副本相同机架的其他节点上
更多副本:随机节点
名称节点出错
名称节点保存了所有的元数据信息,其中,最核心的两大数据结构是FsImage和Editlog,如果这两个文件发生损坏,那么整个HDFS实例将失效。因此,HDFS设置了备份机制,把这些核心文件同步复制到备份服务器SecondaryNameNode上。当名称节点出错时,就可以根据备份服务器SecondaryNameNode中的FsImage和Editlog数据进行恢复。
数据节点出错
数据错误
HDFS有很多命令,其中fs命令可以说是HDFS最常用的命令,利用fs命令可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件信息等。该命令的用法如下
hadoop fs [genericOptions] [commandOptions]
HBase与传统的关系数据库的区别主要体现在以下几个方面:
概述:HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳
表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族
行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元
列限定符:列族里的数据通过列限定符(或列)来定位
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]
时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引
补充 :HBase数据的物理视图—按列族进行物理存储
Master:主服务器Master负责管理和维护HBase表的分区信息,维护Region服务器列表,分配Region,负载均衡
Region:Region服务器负责存储和维护分配给自己的Region,处理来自客户端的读写请求
什么是region:表示一个分区,包含了位于某个值域区间内的所有数据,它是负载均衡和数据分发的基本单位,初始时候,一个表只有一个Region,随着数据插入,持续变多
语法:help ‘命令名’
语法:version
语法:list
语法:create ‘表名’, ‘列族名1’, ‘列族名2’, ‘列族名N’
put ‘表名’, ‘行键’, ‘列族名:列名’, ‘列值’
语法:
1 scan ‘表名’
2 扫描某个列族: scan ‘表名’, {COLUMN=>‘列族名’}
3 扫描某个列族的某个列: scan ‘表名’, {COLUMN=>‘列族名:列名’}
4 查询同一个列族的多个列: scan ‘表名’, {COLUMNS => [ ‘列族名1:列名1’, ‘列族名1:列名2’, …]}
语法:
get ‘表名’, ‘行键’
get ‘表名’, ‘行键’, ‘列族名’
语法:
enable ‘表名’ disable ‘表名’
语法:
drop的表必须是disable的
disable ‘表名’
drop ‘表名’
(1) 关系数据库无法满足web2.0的需求
无法满足海量数据的管理需求
无法满足数据高并发的需求
无法满足高可扩展性和高可用性的需求
(2)关系数据库的关键特性包括完善的事务机制和高效的查询机制,但是到了Web2.0时代两个关键特性却成了鸡肋,主要表现在以下几个方面
Web2.0网站系统通常不要求严格的数据库事务
Web2.0并不要求严格的读写实时性
Web2.0通常不包含大量复杂的SQL查询(去结构化,存储空间换取更好的查询性能)
(1)关系数据库
优势:以完善的关系代数理论作为基础,有严格的标准,支持事务ACID四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持
劣势:可扩展性较差,无法较好支持海量数据存储,数据模型过于死板、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等
(2)NoSQL数据库
优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等
劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等
关系数据库和NoSQL数据库各有优缺点,彼此无法取代
关系数据库应用场景: 电信、银行等领域的关键业务系统,需要保证强事务一致性
NoSQL数据库应用场景:互联网企业、传统企业的非关键业务(比如数据分析)
键值数据库
列族数据库
文档数据库
图形数据库
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据
A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
CAP理论告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个,正所谓“鱼和熊掌不可兼得”。
一个数据库事务具有ACID四性:
A(Atomicity):原子性,是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行
C(Consistency):一致性,是指事务在完成时,必须使所有的数据都保持一致状态
I(Isolation):隔离性,是指由并发事务所做的修改必须与任何其它并发事务所做的修改隔离
D(Durability):持久性,是指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持
基本可用(Basically Availble)
软状态(Soft-state)
最终一致性(Eventual consistency)
一致性的类型包括强一致性和弱一致性,二者的主要区别在于高并发的数据访问操作下,后续操作是否能够获取最新的数据。对于强一致性而言,当执行完一次更新操作后,后续的其他读操作就可以保证读到更新后的最新数据;反之,如果不能保证后续访问读到的都是更新后的最新数据,那么就是弱一致性。
概述:在mongodb中基本的概念是文档、集合、数据库
云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。
概述: MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task
Client
JobTracker
TaskTracker
Task
HDFS 以固定大小的block 为基本单位存储数据,而对于MapReduce 而言,其处理单位是split。split 是一个逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等。它的划分方法完全由用户自己决定。
Hadoop为每个split创建一个Map任务,split 的多少决定了Map任务的数目。大多数情况下,理想的分片大小是一个HDFS块
ResourceManager
NodeManager
ApplicationMaster
YARN的目标就是实现“一个集群多个框架”
运行速度快:使用DAG执行引擎以支持循环数据流与内存计算
容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程
通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件
运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源
一个软件栈满足不同应用场景,spark所提供的生态系统足矣应对同时支持批处理、交互式查询和流数据处理三种场景。
补充:数据的流处理可以理解为系统需要接收并处理一系列连续不断变化的数据
补充:数据的批处理,可以理解为一系列相关的任务按顺序或并行的,一个接一个地执行。批处理地输入是在一段时间内收集好地数据。每次批处理地输出都可以是下次批处理地输入。
补充:
行动:执行计算并指定输出的类型
转换:指定RDD之间的相互依赖关系
Spark SQL在Hive兼容层面仅依赖HiveQL解析、Hive元数据,也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。Spark SQL执行计划生成和优化都由Catalyst(函数式关系查询优化框架)负责
文章纯属期末复习整理,如有不足和错误的地方,希望
评论指出或私信
。
最后希望给文章点个赞
,整理不易!!!
最后希望给文章点个赞
,整理不易!!!
最后希望给文章点个赞
,整理不易!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。