封面
版权信息
前言
基础篇
第1章 Spark简介
1.1 什么是Spark
1.1.1 概述
1.1.2 Spark大数据处理框架
1.1.3 Spark的特点
1.1.4 Spark应用场景
1.2 Spark的重要扩展
1.2.1 Spark SQL和DataFrame
1.2.2 Spark Streaming
1.2.3 Spark MLlib和ML
1.2.4 GraphX
1.2.5 SparkR
1.3 本章小结
第2章 Spark部署和运行
2.1 部署准备
2.1.1 下载Spark
2.1.2 编译Spark版本
2.1.3 集群部署概述
2.2 Spark部署
2.2.1 Local模式部署
2.2.2 Standalone模式部署
2.2.3 YARN模式部署
2.3 运行Spark应用程序
2.3.1 Local模式运行Spark应用程序
2.3.2 Standalone模式运行Spark应用程序
2.3.3 YARN模式运行Spark
2.3.4 应用程序提交和参数传递
2.4 本章小结
第3章 Spark程序开发
3.1 使用Spark Shell编写程序
3.1.1 启动Spark Shell
3.1.2 加载text文件
3.1.3 简单RDD操作
3.1.4 简单RDD操作应用
3.1.5 RDD缓存
3.2 构建Spark的开发环境
3.2.1 准备环境
3.2.2 构建Spark的Eclipse开发环境
3.2.3 构建Spark的IntelliJ IDEA开发环境
3.3 独立应用程序编程
3.3.1 创建SparkContext对象
3.3.2 编写简单应用程序
3.3.3 编译并提交应用程序
3.4 本章小结
第4章 编程模型
4.1 RDD介绍
4.1.1 RDD特征
4.1.2 RDD依赖
4.2 创建RDD
4.2.1 集合(数组)创建RDD
4.2.2 存储创建RDD
4.3 RDD操作
4.3.1 转换操作
4.3.2 执行操作
4.3.3 控制操作
4.4 共享变量
4.4.1 广播变量
4.4.2 累加器
4.5 本章小结
第5章 作业执行解析
5.1 基本概念
5.1.1 Spark组件
5.1.2 RDD视图
5.1.3 DAG图
5.2 作业执行流程
5.2.1 基于Standalone模式的Spark架构
5.2.2 基于YARN模式的Spark架构
5.2.3 作业事件流和调度分析
5.3 运行时环境
5.3.1 构建应用程序运行时环境
5.3.2 应用程序转换成DAG
5.3.3 调度执行DAG图
5.4 应用程序运行实例
5.5 本章小结
第6章 Spark SQL与DataFrame
6.1 概述
6.1.1 Spark SQL 发展
6.1.2 Spark SQL 架构
6.1.3 Spark SQL 特点
6.1.4 Spark SQL 性能
6.2 DataFrame
6.2.1 DataFrame和RDD的区别
6.2.2 创建DataFrame
6.2.3 DataFrame 操作
6.2.4 RDD转化为DataFrame
6.3 数据源
6.3.1 加载保存操作
6.3.2 Parquet 文件
6.3.3 JSON 数据集
6.3.4 Hive 表
6.3.5 通过JDBC 连接数据库
6.3.6 多数据源整合查询的小例子
6.4 分布式的SQL Engine
6.4.1 运行Thrift JDBC/ODBC 服务
6.4.2 运行 Spark SQL CLI
6.5 性能调优
6.5.1 缓存数据
6.5.2 调优参数
6.5.3 增加并行度
6.6 数据类型
6.7 本章小结
第7章 深入了解Spark Streaming
7.1 基础知识
7.1.1 Spark Streaming工作原理
7.1.2 DStream编程模型
7.2 DStream操作
7.2.1 Input DStream
7.2.2 DStream转换操作
7.2.3 DStream状态操作
7.2.4 DStream输出操作
7.2.5 缓存及持久化
7.2.6 检查点
7.3 性能调优
7.3.1 优化运行时间
7.3.2 设置合适的批次大小
7.3.3 优化内存使用
7.4 容错处理
7.4.1 文件输入源
7.4.2 基于Receiver的输入源
7.4.3 输出操作
7.5 一个例子
7.6 本章小结
第8章 Spark MLlib与机器学习
8.1 机器学习概述
8.1.1 机器学习分类
8.1.2 机器学习算法
8.2 Spark MLlib介绍
8.3 Spark MLlib库
8.3.1 MLlib数据类型
8.3.2 MLlib的算法库与实例
8.4 ML库
8.4.1 主要概念
8.4.2 算法库与实例
8.5 本章小结
第9章 GraphX图计算框架与应用
9.1 概述
9.2 Spark GraphX架构
9.3 GraphX编程
9.3.1 GraphX的图操作
9.3.2 常用图算法
9.4 应用场景
9.4.1 图谱体检平台
9.4.2 多图合并工具
9.4.3 能量传播模型
9.5 本章小结
第10章 SparkR(R on Spark)
10.1 概述
10.1.1 SparkR介绍
10.1.2 SparkR的工作原理
10.1.3 R语言介绍
10.1.4 R语言与其他语言的通信
10.2 安装SparkR
10.2.1 安装R语言与rJava
10.2.2 SparkR的安装
10.3 SparkR的运行与应用示例
10.3.1 运行SparkR
10.3.2 SparkR示例程序
10.3.3 R的DataFrame操作方法
10.3.4 SparkR的DataFrame
10.4 本章小结
实战篇
第11章 大数据分析系统
11.1 背景
11.2 数据格式
11.3 应用架构
11.4 业务实现
11.4.1 流量、性能的实时分析
11.4.2 流量、性能的统计分析
11.4.3 业务关联分析
11.4.4 离线报表分析
11.5 本章小结
第12章 系统资源分析平台
12.1 业务背景
12.1.1 业务介绍
12.1.2 实现目标
12.2 应用架构
12.2.1 总体架构
12.2.2 模块架构
12.3 代码实现
12.3.1 Kafka集群
12.3.2 数据采集
12.3.3 离线数据处理
12.3.4 数据表现
12.4 结果验证
12.5 本章小结
第13章 在Spark上训练LR模型
13.1 逻辑回归简介
13.2 数据格式
13.3 MLlib中LR模型源码介绍
13.3.1 逻辑回归分类器
13.3.2 优化方法
13.3.3 算法效果评估
13.4 实现案例
13.4.1 训练模型
13.4.2 计算AUC
13.5 本章小结
第14章 获取二级邻居关系图
14.1 理解PageRank
14.1.1 初步理解PageRank
14.1.2 深入理解PageRank
14.2 PageRank算法基于Spark的实现
14.3 基于PageRank的二级邻居获取
14.3.1 系统设计
14.3.2 系统实现
14.3.3 代码提交命令
14.4 本章小结
高级篇
第15章 调度管理
15.1 调度概述
15.1.1 应用程序间的调度
15.1.2 应用程序中的调度
15.2 调度器
15.2.1 调度池
15.2.2 Job调度流程
15.2.3 调度模块
15.2.4 Job的生与死
15.3 本章小结
第16章 存储管理
16.1 硬件环境
16.1.1 存储系统
16.1.2 本地磁盘
16.1.3 内存
16.1.4 网络和CPU
16.2 Storage模块
16.2.1 通信层
16.2.2 存储层
16.3 Shuffle数据持久化
16.4 本章小结
第17章 监控管理
17.1 Web界面
17.2 Spark UI历史监控
17.2.1 使用spark-server的原因
17.2.2 配置spark-server
17.3 监控工具
17.3.1 Metrics工具
17.3.2 其他工具
17.4 本章小结
第18章 性能调优
18.1 文件的优化
18.1.1 输入采用大文件
18.1.2 lzo压缩处理
18.1.3 Cache压缩
18.2 序列化数据
18.3 缓存
18.4 共享变量
18.4.1 广播变量
18.4.2 累加器
18.5 流水线优化
18.6 本章小结
扩展篇
第19章 Spark-jobserver实践
19.1 Spark-jobserver是什么
19.2 编译、部署及体验
19.2.1 编译及部署
19.2.2 体验
19.3 Spark-jobserver程序实战
19.3.1 创建步骤
19.3.2 一些常见的问题
19.4 使用场景:用户属性分布计算
19.4.1 项目需求
19.4.2 计算架构
19.4.3 使用NamedRDD
19.5 本章小结
第20章 Spark Tachyon实战
20.1 Tachyon文件系统
20.1.1 文件系统概述
20.1.2 HDFS和Tachyon
20.1.3 Tachyon设计原理
20.1.4 Tachyon特性
20.2 Tachyon入门
20.2.1 Tachyon 部署
20.2.2 Tachyon API
20.2.3 在Spark上使用Tachyon
20.3 容错机制
20.4 本章小结
更新时间:2019-01-01 01:25:42