大数据Spark企业级实战版【学习笔记】----Spark技术生态系统之Spark Core
来源:互联网 发布:生死狙击m1911伤害数据 编辑:程序博客网 时间:2024/05/18 04:55
1.1.3 Spark技术生态系统
Spark生态系统如果1-8所示:
Spark Core包含Spark的基本功能,这些功能包括任务调度、内存管理、故障恢复以及存储系统的交互等,其中几个重要的概念:RDD、Stage、DAG。Spark Core的核心思想就是将数据集缓存在内存中,并用Lineage机制来进行容错。
1. Spark Core
1) RDD功能特性
RDD是弹性分布式数据集(ResilientDistributed Datasets)的简称,是分布式只读的且已分区的集合对象。这些集合是弹性的,如果数据集的一部分丢失,则可以对它们进行重建。具有自动容错、位置感知调度和可伸缩性,而容错性是最难实现的。大多数分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。RDD支持记录数据的更新;RDD也支持粗粒度的转换,也就是记录如何从其他RDD转换而来(即Lineage),以便恢复丢失的分区。
2) RDD编程接口
Spark提供了丰富的API来操作这些数据集,RDD包含2类API:
Ø Transformations---转换操作,返回值还是一个RDD,如map、filter、union;
Ø Actions---行动操作,返回结果或是把RDD持久化起来,如count、collect、save。
transformaton采用的是懒策略,如果只是将transformation提交是不会提交任务来执行的,任务执行只有在action被提交时才被触发。
Spark支持的RDD转换和动作如表1-3所示:
3) RDD依赖关系
RDD之间的依赖有以下两种:
n 窄依赖(Narrow Dependency)-----一个父RDD最多被一个子RDD引用,如map、filter、union操作;
n 宽依赖(Wide Dependency)----一个父RDD被多个子RDD引用,如groupByKey操作。
RDD依赖图如图1-9所示:
4) Stage DAG
Spark提交Job之后会把Job生成多个Stage,多个Stage之间是有依赖的。对于窄依赖,Spark会尽量多地将RDD转换放在同一个Stage中;对于宽依赖,大多数时候是shuffle操作,因此Spark会将此Stage定义为ShuffleMapStage,以便于向MapOutputTracker注册shuffle操作。Spark通常将shuffle操作定义为stage的边界。Stage划分图如图1-10所示:
- 大数据Spark企业级实战版【学习笔记】----Spark技术生态系统之Spark Core
- 大数据Spark企业级实战版【学习笔记】---Spark简介
- 大数据Spark企业级实战版【学习笔记】----Spark术语
- 大数据Spark企业级实战版【学习笔记】----Spark Streaming
- 大数据Spark企业级实战版【学习笔记】----Spark Streaming
- 大数据Spark企业级实战版【学习笔记】----Spark Shark& Spark SQL
- 大数据Spark企业级实战版【学习笔记】----Spark R& MLBase
- 大数据Spark企业级实战版【学习笔记】----Spark速度为何如此快
- 大数据Spark企业级实战版【学习笔记】-----Spark Streaming 的构架
- 大数据Spark企业级实战版【学习笔记】-----Spark Streaming的编程模式
- 大数据Spark企业级实战版【学习笔记】-----Spark Streaming案例分析
- 大数据Spark企业级实战版【学习笔记】-----交互式SQL处理框架Spark SQL
- 大数据Spark企业级实战版【学习笔记】----Tachyon& BlinkDB&Akka
- 大数据Spark企业级实战版【学习笔记】----RDD:分布式函数式编程
- 大数据Spark企业级实战版【学习笔记】---- GraphX:图像计算框架
- 大数据技术之Spark
- 大数据学习36:spark-core 和 spark-sql 学习
- 大数据Spark企业级实战 PDF 下载 和目录
- 【C系列】C++起步遇到的问题
- Qualcomm®骁龙™神经处理引擎(Neural Processing Engine, NPE)SDK快速入门指南
- C 语言 printf 用法
- pydot 安装 用于caffe画图
- DotNetCore跨平台~2.0提前发布喽
- 大数据Spark企业级实战版【学习笔记】----Spark技术生态系统之Spark Core
- apache配置多站点
- Unity3D的全局音频管理
- c字符串、string对象、字符串字面值的区别
- 二叉树的遍历及其用途
- 剑指OOOOO
- 【C系列】一个C++的粒子群(PSO)算法实现
- 欢迎使用CSDN-markdown编辑器
- BFS之01迷宫之醉了又醉