第1章 成功运行Spark job 1
安装所需组件 2
原生安装Spark Standalone集群 3
分布式计算的发展史 3
步入云时代 5
理解资源管理 6
使用各种类型的存储格式 9
文本文件 11
Sequence文件 13
Avro文件 13
Parquet文件 13
监控和度量的意义 14
Spark UI 14
Spark Standalone UI 17
Metrics REST API 17
Metrics System 18
外部监控工具 18
总结 19
第2章 集群管理 21
背景知识 23
Spark组件 26
Driver 27
workers与executors 28
配置 30
Spark Standalone 33
架构 34
单节点设置场景 34
多节点设置 36
YARN 36
架构 38
动态资源分配 41
场景 43
Mesos 45
安装 46
架构 47
动态资源分配 49
基本安装场景 50
比较 52
总结 56
第3章 性能调优 59
Spark执行模型 60
分区 62
控制并行度 62
分区器 64
shuffle数据 65
shuffle与数据分区 67
算子与shuffle 70
shuffle并不总是坏事 75
序列化 75
Kryo注册器 77
Spark缓存 77
SparkSQL缓存 81
内存管理 82
垃圾回收 83
共享变量 84
广播变量 85
累加器 87
数据局部性 90
总结 91
第4章 安全 93
架构 94
Security Manager 94
设定配置 95
ACL 97
配置 97
提交job 98
Web UI 99
网络安全 107
加密 108
事件日志 113
Kerberos 114
Apache Sentry 114
总结 115
第5章 容错或job执行 117
Spark job的生命周期 118
Spark master 119
Spark driver 122
Spark worker 124
job生命周期 124
job调度 125
应用程序内部调度 125
用外部工具进行调度 133
容错 135
内部容错与外部容错 136
SLA 137
RDD 138
Batch vs Streaming 145
测试策略 148
推荐配置 155
总结 158
第6章 超越Spark 159
数据仓库 159
SparkSQL CLI 161
Thrift JDBC/ODBC服务器 162
Hive on Spark 162
机器学习 164
DataFrame 165
MLlib和ML 167
Mahout on Spark 174
Hivemall On Spark 175
外部的框架 176
Spark Package 177
XGBoost 179
spark-jobserver 179
未来的工作 182
与参数服务器集成 184
深度学习 192
Spark在企业中的应用 200
用Spark及Kafka收集用户活动日志 200
用Spark做实时推荐 202
Twitter Bots的实时分类 204
总结 205