第1章 Spark编程模型 1
1.1 Spark:一体化、多元化的高速
大数据通用计算平台和库 1
1.1.1 为什么需要使用Spark 5
1.1.2 Spark技术生态系统简介 9
1.2 Spark大数据处理框架 20
1.2.1 Spark速度为何如此之快 20
1.2.2 RDD:分布式函数式编程 24
1.3 Spark子框架解析 28
1.3.1 图计算框架Spark GraphX 28
1.3.2 实时流处理框架(Spark Streaming) 41
1.3.3 交互式SQL处理框架Spark SQL 46
1.3.4 机器学习框架(Spark MLlib) 49
第2章 构建Spark分布式集群 55
2.1 搭建Hadoop单机版本和伪分布式开发环境 55
2.1.1 开发Hadoop需要的基本软件 56
2.1.2 安装每个软件 58
2.1.3 配置Hadoop单机模式并运行Wordcount示例 76
2.1.3 配置Hadoop伪分布模式并运行Wordcount示例 84
2. 2 搭建 Hadoop分布式集群的 92
2.2.1 在VMWare 中准备第二、第三台运行Ubuntu系统的机器 92
2.2.2 按照配置伪分布式模式的方式配置新创建运行Ubuntu系统的机器 93
2.2.3 配置Hadoop分布式集群环境 94
2.2.4 测试Hadoop分布式集群环境 105
2.3 Spark集群的动手搭建 108
2.3.1 Spark集群需要的软件 108
2.3.2 安装每个软件 110
2.3.3 启动并查看集群的状况 116
2.4 构建Hadoop单机版本和伪分布式环境 120
2.4.1 通过Spark的shell测试Spark的工作 121
2.4.2 使用Spark的cache机制观察一下效率的提升 125
第3章 Spark开发环境及其测试 129
3.1 搭建和设置IDEA开发环境 129
3.1.1 构建Spark的IDE开发环境 129
3.1.2 配置Spark的IDE开发环境 132
3.2 测试IDEA环境 146
3.3 实战:在IDEA中开发代码,并运行在Spark集群中 148
第4章 Spark RDD与编程API实战 159
4.1 深度解析Spark RDD 159
4.2 Transformation Operations动手实战 165
4.3 Action Operations动手实战 175
4.4 Spark API综合实战 179
第5章 Spark运行模式深入解析 191
5.1 Spark运行模式概述 192
5.1.1 Spark的运行模式列表 196
5.1.2 Spark的基本工作流程 197
5.2 Standalone模式 201
5.2.1 部署及程序运行 202
5.2.2 内部实现原理 206
5.3 Yarn-Cluster模式 234
5.3.1 部署及程序运行 235
5.3.2 内部实现原理 237
5.4 Yarn-Client模式 243
5.4.1 部署及运行程序 243
5.4.2 内部实现原理 244
第6章 Spark内核解析 247
6.1 Spark内核初探 247
6.1.1 Spark内核核心术语解析 247
6.1.2 Spark集群概览 250
6.1.3 Spark核心组件 251
6.1.4 Spark任务调度系统初见 252
6.2 Spark内核核心源码解读 256
6.2.1 SparkContext核心源码解析初体验 256
6.2.2 TaskSceduler启动源码解析初体验 260
6.2.3 DAGScheduler源码解读初体验 261
6.2.4 Spark的Web监控页面 262
6.3 以RDD的count操作为例触发Job全生命周期源码研究 263
6.4 Akka驱动下的Driver、Master、Worker 276
6.4.1 Driver中的AppClient源码解析 276
6.4.2 AppClient注册Master 279
6.4.3 Worker中Executor启动过程源代码解析 282
第7章 GraphX大规模图计算与图挖掘实战 287
7.1 Spark GraphX概览 288
7.2 Spark GraphX设计实现的核心原理 291
7.3 Table operator和Graph Operator 295
7.4 Vertices、edges、triplets 296
7.5 以原始的方式构建graph 299
7.6 动手编写个Graph代码实例并进行Vertices、edges、triplets操作 299
7.7 在Spark集群上使用文件中的数据加载成为graph并进行操作 310
^ 收 起