Hadoop 分布式基础架构
mapReduce 处理大数据分析
HDFS 存储分布式节点的文件
Hive 转换数据库表 提供SQL
并非数据库,只是转换为数据库表
在其转换为数据库表后,使用MapReduce进行数据分析
Hbase NoSQL类型的数据库,支持随机读写
yarn 资源管理器
目标知识点 | 记忆 | 理解 | 应用 | 分析 | 评价 | 创新 |
---|---|---|---|---|---|---|
Spark 计算模型 | O | |||||
Spark 与 MapReduce | O | O | ||||
Spark 生态系统 | O | O | ||||
Spark 应用案例 | O |
运行速度块
拥有DAG( Directed Acyclic Graph 有向无环图)执行引擎,比hadoop的MapReduce内存运算快100倍,硬盘运算快10倍以上
易用性好
通用性强
Spark生态圈BDAS包含了丰富的组件,提供一站式解决平台
随处运行
具有很强的适应性,可以使用多种资源管理器来调度Job,可以访问多种数据源
基于Spark的程序,包含了一个Driver Programi和集群中多个Executor。由Cluster Manager将执行单元Task送到Executor.上执行,每个Job会被拆成多组Task,每组任务称为Stage。Spark的基本计算单元是RDD。
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升查询速度。
弹性分布式数据集(RDD)是spak最基本的编程抽象,而且是只读,可分区的,可以进行并行计算的对象。
数据集:
分布式:
弹性:
存储的弹性:RDD的数据可以在内存和磁盘之间进行自由切换。
可靠性的弹性:RDD的在丢失数据时能够自动恢复,RDD在计算过程中会出现失败的情况,失败以后会进行一定次数的重试(4次)。
并行度的弹性:RDD的数据分区可以改变,进而增加并行计算的粒度。
RDD之间有两种不同类型的依赖关系:窄依赖和宽依赖。