前言
第一篇概念篇
第1章Spark概述
1.1Spark初见
1.1.1Spark的发展史及近况
1.1.2Spark的特点
1.1.3Spark的作用
1.1.4Spark的体系结构
1.1.5Spark的发展趋势
1.2Spark框架
1.2.1批处理框架
1.2.2流处理框架
1.3Spark的生态系统
1.4Spark的数据存储
1.5本章小结
第2章Spark环境配置
2.1Spark运行环境配置
2.1.1先决条件
2.1.2下载与运行Spark
2.1.3使用交互式Shell
2.1.4搭建Spark Standalone集群
2.2Spark开发环境配置
2.2.1Spark独立应用程序
2.2.2构建IDE开发环境
2.3Spark编译环境配置
2.3.1使用Maven编译项目源码
2.3.2使用IDEA搭建源码编译与阅读环境
2.4本章小结
第二篇开发篇
第3章Spark核心开发
3.1Spark编程模型概述
3.2SparkContext
3.2.1SparkContext的作用
3.2.2SparkContext的创建
3.2.3使用Shell
3.2.4应用实践
3.3RDD简介
3.3.1RDD创建
3.3.2RDD转换操作
3.3.3RDD动作操作
3.3.4RDD惰性计算
3.3.5RDD持久化
3.3.6RDD检查点
3.4共享变量
3.4.1广播变量
3.4.2累加器
3.5Spark核心开发实践
3.5.1单值型Trasnformation算子
3.5.2键值对型Transformation算子
3.5.3Action算子
3.6本章小结
第4章Spark四大应用技术框架
4.1Spark SQL
4.1.1Spark SQL入门
4.1.2数据源
4.1.3性能调优
4.1.4分布式SQL引擎
4.1.5Shark迁移至SparkSQL指南
4.1.6Hive的兼容性
4.1.7Spark SQL数据类型
4.2Spark Streaming
4.2.1Spark Streaming简介
4.2.2入门实例
4.2.3基本概念
4.3Spark GraphX
4.3.1Spark GraphX简介
4.3.2属性图
4.3.3图操作
4.3.4Pregel API
4.3.5图构造器
4.3.6顶点与边相关RDD
4.3.7最优化表示
4.3.8图算法
4.3.9Ex锄ple
4.4Spark Mllib
4.4.1Spark Mllib简介
4.4.2数据类型
4.4.3基本统计分析
4.4.4分类与回归
4.4.5协同过滤
4.4.6聚类
4.4.7降维
4.4.8特征提取与转换
4.4.9频繁模式挖掘
4.4.10最优化算法
4.4.11导出PMMl模式
4.5SparkR
4.5.1SparkR DataFrame
4.5.2DataFrame的相关操作
4.5.3从SparkR运行SQL查询
第5章Spark系统配置与调优
5.1Spark运行监控
5.2Spark配置参数
5.2.1应用属性
5.2.2运行环境属性
5.2.3Shuffle操作属性
5.2.4压缩与序列化属性
5.2.5数据序列化
5.3内存调优
5.3.1调整数据结构
5.3.2序列化RDD存储
5.3.3GC
5.4其他调优
5.4.1并行度
5.4.2Reduce任务
5.4.3广播变量
5.4.4数据本地化
5.4.5网络通信调优
5.4.6磁盘空间优化
5.4.7任务执行速度“倾斜”
5.5本童小结
第三篇机制篇
第6章RDD内部结构
6.1RDD接口
6.2分区
6.2.1分区接口
6.2.2分区个数
6.2.3分区内部的记录个数
6.3依赖关系
6.3.1依赖与RDD
6.3.2依赖分类
6.3.3窄依赖
6.3.4Shuffle依赖
6.3.5依赖与容错机制
6.3.6依赖与并行计算
6.4计算函数
6.4.1compute方法
6.4.2iterator方法
6.5分区器
6.5.1哈希分区器
6.5.2范围分区器
6.5.3默认分区器
6.6持久化
6.7检查点
6.8本章小结
第7章Spark调度机制
7.1调度基础
7.1.1基本概念
7.1.2通信框架
7.2集群资源调度
7.2.1集群部署图
7.2.2集群资源注册
7.2.3集群资源申请与分配
7.3DAG调度
7.3.1DAG调度通信机制
7.3.2作业处理流程
7.3.3阶段划分
7.4任务调度
7.4.1任务分类与执行
7.4.2任务划分与提交
7.4.3任务调度算法
7.4.4任务调度相关类
7.4.5任务分配
7.4.6任务接收与执行
7.5本章小结
第8章Shuffle过程
8.1与Hadoop Shuffle过程的区别
8.1.1MR模型的Shuffle过程
8.1.2聚合器
8.1.3哈希Shuffle与排序Shuffle
8.1.4Spark的Shufne过程
8.2Shume写过程
8.2.1哈希Shuffle写过程
8.2.2排序Shuffle写过程
8.3Shume读过程
8.4本章小结
第四篇应用篇
第9章视频娱乐领域
9.1腾讯公司在Hadoop和Spark平台上的应用
9.1.1公司背景特点
9.1.2业务需求
9.1.3解决方案
9.1.4方案效果
9.1.5小结
9.2Spotify公司在Hadoop和Spark平台AlS算法的运行时间对比
9.2.1公司背景特点
9.2.2业务需求
9.2.3解决方案
9.2.4方案效果
9.2.5小结
9.3本章小结
第10章电商领域
10.1淘 宝公司在Spark平台上对GraphX与Bagel的运行效果对比
10.1.1公司背景特点
10.1.2业务需求
10.1.3解决方案
10.1.4方案效果
10.1.5小结
10.2Yahoo!关于Hive与Shark的应用
10.2.1公司背景特点
10.2.2业务需求
10.2.3解决方案
10.2.4方案效果
10.2.5小结
10.3本章小结
第11章电信领域
11.1Telefonica应用Spark和Cassandra方案解决多用户事务查询
11.1.1公司背景特点
11.1.2业务需求
11.1.3解决方案
11.1.4方案效果
11.1.5小结
11.2NTTDATA对Spark on YARN架构各项性能测试分析
11.2.1公司背景特点
11.2.2业务需求
11.2.3解决方案
11.2.4方案效果
11.2.5小结
11.3本章小结
第12章零售领域
12.1Euclid Analysis基于Spark的地理位置分析服务
12.1.1公司背景特点
12.1.2业务需求
12.1.3解决方案
12.1.4方案效果
12.1.5小结
12.2Graphflow应用Spark Mllib进行实时个性化推荐
12.2.1公司背景特点
12.2.2业务需求
12.2.3解决方案
12.2.4方案效果
12.2.5小结
12.3本章小结
第13章其他领域
13.1Uber基于Spark的私家车搭乘服务
13.1.1公司背景特点
13.1.2业务需求
13.1.3解决方案
13.1.4方案效果
13.1.5小结
13.2PubMatic应用Spark提供广告服务
13.2.1公司背景特点
13.2.2业务需求
13.2.3解决方案
13.2.4方案效果
13.2.5小结
13.3本章小结
· · · · · · (
收起)