《图解Spark 核心技术与案例实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:郭景瞻编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:7121302367
  • 页数:466 页
图书介绍:

第一篇 基础篇 1

第1章 Spark及其生态圈概述 1

1.1 Spark简介 1

1.1.1 什么是Spark 1

1.1.2 Spark与MapReduce比较 3

1.1.3 Spark的演进路线图 4

1.2 Spark生态系统 5

1.2.1 Spark Core 6

1.2.2 Spark Streaming 7

1.2.3 Spark SQL 9

1.2.4 BlinkDB 11

1.2.5 MLBase/MLlib 12

1.2.6 GraphX 12

1.2.7 SparkR 13

1.2.8 Alluxio 14

1.3 小结 15

第2章 搭建Spark实战环境 16

2.1 基础环境搭建 16

2.1.1 搭建集群样板机 17

2.1.2 配置集群环境 22

2.2 编译Spark源代码 25

2.2.1 配置Spark编译环境 26

2.2.2 使用Maven编译Spark 27

2.2.3 使用SBT编译Spark 29

2.2.4 生成Spark部署包 30

2.3 搭建Spark运行集群 31

2.3.1 修改配置文件 31

2.3.2 启动Spark 33

2.3.3 验证启动 33

2.3.4 第一个实例 33

2.4 搭建Spark实战开发环境 35

2.4.1 CentOS中部署IDEA 36

2.4.2 使用IDEA开发程序 37

2.4.3 使用IDEA阅读源代码 42

2.5 小结 47

第二篇 核心篇 48

第3章 Spark编程模型 48

3.1 RDD概述 48

3.1.1 背景 48

3.1.2 RDD简介 49

3.1.3 RDD的类型 50

3.2 RDD的实现 51

3.2.1 作业调度 51

3.2.2 解析器集成 52

3.2.3 内存管理 53

3.2.4 检查点支持 54

3.2.5 多用户管理 54

3.3 编程接口 55

3.3.1 RDD分区(Partitions) 55

3.3.2 RDD首选位置(PreferredLocations) 56

3.3.3 RDD依赖关系(Dependencies) 56

3.3.4 RDD分区计算(Iterator) 58

3.3.5 RDD分区函数(Partitioner) 58

3.4 创建操作 59

3.4.1 并行化集合创建操作 59

3.4.2 外部存储创建操作 61

3.5 转换操作 63

3.5.1 基础转换操作 63

3.5.2 键值转换操作 70

3.6 控制操作 77

3.7 行动操作 80

3.7.1 集合标量行动操作 80

3.7.2 存储行动操作 84

3.8 小结 87

第4章 Spark核心原理 89

4.1 消息通信原理 90

4.1.1 Spark消息通信架构 90

4.1.2 Spark启动消息通信 91

4.1.3 Spark运行时消息通信 94

4.2 作业执行原理 102

4.2.1 概述 102

4.2.2 提交作业 104

4.2.3 划分调度阶段 106

4.2.4 提交调度阶段 109

4.2.5 提交任务 112

4.2.6 执行任务 117

4.2.7 获取执行结果 119

4.3 调度算法 122

4.3.1 应用程序之间 122

4.3.2 作业及调度阶段之间 126

4.3.3 任务之间 130

4.4 容错及HA 136

4.4.1 Executor异常 136

4.4.2 Worker异常 137

4.4.3 Master异常 138

4.5 监控管理 139

4.5.1 UI监控 139

4.5.2 Metrics 150

4.5.3 REST 152

4.6 实例演示 154

4.6.1 计算年降水实例 154

4.6.2 HA配置实例 157

4.7 小结 160

第5章 Spark存储原理 161

5.1 存储分析 161

5.1.1 整体架构 161

5.1.2 存储级别 167

5.1.3 RDD存储调用 168

5.1.4 读数据过程 170

5.1.5 写数据过程 177

5.2 Shuffle分析 186

5.2.1 Shuffle简介 186

5.2.2 Shuffle的写操作 186

5.2.3 Shuffle的读操作 193

5.3序列化和压缩 200

5.3.1序列化 200

5.3.2压缩 201

5.4 共享变量 202

5.4.1 广播变量 202

5.4.2 累加器 203

5.5 实例演示 204

5.6 小结 208

第6章 Spark运行架构 209

6.1 运行架构总体介绍 209

6.1.1 总体介绍 209

6.1.2 重要类介绍 210

6.2 本地(Local)运行模式 211

6.2.1 运行模式介绍 211

6.2.2 实现原理 213

6.3 伪分布(Local-Cluster)运行模式 215

6.3.1 运行模式介绍 215

6.3.2 实现原理 216

6.4 独立(Standalone)运行模式 218

6.4.1 运行模式介绍 218

6.4.2 实现原理 219

6.5 YARN运行模式 220

6.5.1 YARN运行框架 220

6.5.2 YARN-Client运行模式介绍 221

6.5.3 YARN-Client运行模式实现原理 223

6.5.4 YARN-Cluster运行模式介绍 227

6.5.5 YARN-Cluster运行模式实现原理 229

6.5.6 YARN-Client与YARN-Cluster对比 232

6.6 Mesos运行模式 233

6.6.1 Mesos介绍 233

6.6.2 粗粒度运行模式介绍 234

6.6.3 粗粒度实现原理 236

6.6.4 细粒度运行模式介绍 239

6.6.5 细粒度实现原理 240

6.6.6 Mesos粗粒度和Mesos细粒度对比 243

6.7 实例演示 243

6.7.1 独立运行模式实例 243

6.7.2 YARN-Client实例 247

6.7.3 YARN-Cluster实例 250

6.8 小结 253

第三篇 组件篇 255

第7章 Spark SQL 255

7.1 Spark SQL简介 255

7.1.1 Spark SQL发展历史 255

7.1.2 DataFrame/Dataset介绍 258

7.2 Spark SQL运行原理 261

7.2.1 通用SQL执行原理 261

7.2.2 SparkSQL运行架构 262

7.2.3 SQLContext运行原理分析 265

7.2.4 HiveContext介绍 276

7.3 使用Hive-Console 278

7.3.1 编译Hive-Console 278

7.3.2 查看执行计划 280

7.3.3 应用Hive-Console 281

7.4 使用SQLConsole 284

7.4.1 启动HDFS和Spark Shell 284

7.4.2 与RDD交互操作 284

7.4.3 读取JSON格式数据 287

7.4.4 读取Parquet格式数据 288

7.4.5 缓存演示 289

7.4.6 DSL演示 290

7.5 使用Spark SQL CLI 290

7.5.1 配置并启动Spark SQL CLI 291

7.5.2 实战Spark SQL CLI 292

7.6 使用Thrift Server 293

7.6.1 配置并启动Thrift Server 293

7.6.2 基本操作 295

7.6.3 交易数据实例 296

7.6.4 使用IDEA开发实例 298

7.7 实例演示 299

7.7.1 销售数据分类实例 299

7.7.2 网店销售数据统计 303

7.8 小结 306

第8章 Spark Streaming 308

8.1 Spark Streaming简介 308

8.1.1 术语定义 309

8.1.2 Spark Streaming特点 312

8.2 Spark Streaming编程模型 314

8.2.1 DStream的输入源 314

8.2.2 DStream的操作 315

8.3 Spark Streaming运行架构 319

8.3.1 运行架构 319

8.3.2 消息通信 320

8.3.3 Receiver分发 323

8.3.4 容错性 329

8.4 Spark Streaming运行原理 331

8.4.1 启动流处理引擎 331

8.4.2 接收及存储流数据 334

8.4.3 数据处理 341

8.5 实例演示 346

8.5.1 流数据模拟器 346

8.5.2 销售数据统计实例 348

8.5.3 Spark Streaming+Kafka实例 351

8.6 小结 356

第9章 Spark MLlib 358

9.1 Spark MLlib简介 358

9.1.1 Spark MLlib介绍 358

9.1.2 Spark MLlib数据类型 360

9.1.3 Spark MLlib基本统计方法 365

9.1.4 预言模型标记语言 369

9.2 线性模型 370

9.2.1 数学公式 370

9.2.2 线性回归 371

9.2.3 线性支持向量机 372

9.2.4 逻辑回归 373

9.2.5 线性最小二乘法、Lasso和岭回归 373

9.2.6 流式线性回归 373

9.3 决策树 374

9.4 决策模型组合 375

9.4.1 随机森林 376

9.4.2 梯度提升决策树 377

9.5 朴素贝叶斯 377

9.6 协同过滤 378

9.7 聚类 380

9.7.1 K-means 380

9.7.2 高斯混合 382

9.7.3 快速迭代聚类 384

9.7.4 LDA 384

9.7.5 二分K-means 385

9.7.6 流式K-means 386

9.8 降维 386

9.8.1 奇异值分解降维 386

9.8.2 主成分分析降维 387

9.9 特征提取和变换 388

9.9.1 词频—逆文档频率 388

9.9.2 词向量化工具 389

9.9.3 标准化 390

9.9.4 范数化 390

9.10 频繁模式挖掘 391

9.10.1 频繁模式增长 391

9.10.2 关联规则挖掘 391

9.10.3 PrefiixSpan 391

9.11 实例演示 392

9.11.1 K-means聚类算法实例 392

9.11.2 手机短信分类实例 396

9.12 小结 401

第10章 Spark GraphX 402

10.1 GraphX介绍 402

10.1.1 图计算 402

10.1.2 GraphX介绍 403

10.1.3 发展历程 404

10.2 GraphX实现分析 405

10.2.1 GraphX图数据模型 406

10.2.2 GraphX图数据存储 408

10.2.3 GraphX图切分策略 410

10.2.4 GraphX图操作 412

10.3 实例演示 418

10.3.1 图例演示 418

10.3.2 社区发现演示 425

10.4 小结 429

第11章 SparkR 430

11.1 概述 430

11.1.1 R语言介绍 430

11.1.2 SparkR介绍 431

11.2 SparkR与DataFrame 432

11.2.1 DataFrames介绍 432

11.2.2 与DataFrame的相关操作 434

11.3 编译安装SparkR 435

11.3.1 编译安装R语言 435

11.3.2 安装SparkR运行环境 437

11.3.3 安装SparkR 438

11.3.4 启动并验证安装 439

11.4 实例演示 440

11.5 小结 444

第12章 Alluxio 445

12.1 Alluxio简介 445

12.1.1 Alluxio介绍 445

12.1.2 Alluxio系统架构 446

12.1.3 HDFS与 Alluxio 450

12.2 Alluxio编译部署 451

12.2.1 编译Alluxio 451

12.2.2 单机部署Alluxio 453

12.2.3 集群模式部署Alluxio 455

12.3 Alluxio命令行使用 457

12.3.1 接口说明 457

12.3.2 接口操作示例 459

12.4 实例演示 462

12.4.1 启动环境 462

12.4.2 Alluxio上运行Spark 462

12.4.3 Alluxio上运行MapReduce 465

12.5 小结 466