《图解Spark核心技术与案例实战》
第一章 Spark及其生态圈介绍
Spark 由伯克利AMP实验室开发(Algos,Machines and People Lab)
Spark快速的原因: 1、基于内存计算 2、引入DAG计算引擎
Spark与MR对比:
Spark中间数据存内存,MR存磁盘
Spark容错性高 (1/根据血统衍生 2/通过CheckPoint实现容错)
*
Spark的生态系统
- Spark Core 包括多种运行模式(StandAlone,Yarn)的支持,提供DAG的分布式并行计算框架,引入了RDD的抽象
- Spark SQL DataSet DataFrame
- Spark Streaming
- Mllib
- SparkR
- BlinkDB
- GraphX
第三章 Spark编程模型
3.1 RDD概述
Spark:在同样的环境中,支持迭代、批处理、交互式和流处理的运算
straggler 运行较慢的Task?
3.2 RDD的实现
1 作业调度
2 解析器的集成
1、类传输
2、代码生成器的改动
*3 内存管理
RDD的存储策略:
1/ 非序列化的Java对象存内存 性能最优
2/ 序列化后的数据存内存 可以采用比Java对象更有效的内存组织形式,但代价是降低了性能
3/ 序列化数据存磁盘
LRU算法
4 检查点操作(将长血统的RDD保存到外部存储中去)
对于包含宽依赖长血统的RDD,设置检查点是非常有用的
(因为检查点,可以避免某个节点故障时,从宽依赖的各个父节点重新计算数据)
窄依赖就不是那么必要
5 多用户管理
公平调度器