编辑推荐
以Spark 2.0版本为基础进行编写,版本新。
不仅介绍了Spark 基本使用方法,还深入浅出地讲解了Spark 的编程模型、作业运行机制、存储原理和运行架构等内容。通过对这些内容的学习,你可以编写出更加高效的应用程序,更快地定位并排除故障,而且还能对Spark 运行进行调优,让Spark 运行得更加稳定和快速。
随着大数据技术的发展,实时流计算、机器学习、图计算等领域成为较热的研究方向,而Spark 有着较为成熟的生态圈,能够一站式解决类似场景的问题。通过对本书的学习,你将加深对Spark 原理和应用场景的理解,能够更好地利用Spark 各个组件进行数据计算和算法实现。
媒体评论
目录
第1章 Spark及其生态圈概述t
1.1 Spark简介t
1.1.1 什么是Sparkt
1.1.2 Spark与MapReduce比较t
1.1.3 Spark的演进路线图t
1.2 Spark生态系统t
1.2.1 Spark Coret
1.2.2 Spark Streamingt
1.2.3 Spark SQLt
1.2.4 BlinkDBt
1.2.5 MLBase/MLlibt
1.2.6 GraphXt
1.2.7 SparkRt
1.2.8 Alluxiot
1.3 小结t
第2章 搭建Spark实战环境t
2.1 基础环境搭建t
2.1.1 搭建集群样板机t
2.1.2 配置集群环境t
2.2 编译Spark源代码t
2.2.1 配置Spark编译环境t
2.2.2 使用Maven编译Sparkt
2.2.3 使用SBT编译Sparkt
2.2.4 生成Spark部署包t
2.3 搭建Spark运行集群t
2.3.1 修改配置文件t
2.3.2 启动Sparkt
2.3.3 验证启动t
2.3.4 *个实例t
2.4 搭建Spark实战开发环境t
2.4.1 CentOS中部署IDEAt
2.4.2 使用IDEA开发程序t
2.4.3 使用IDEA阅读源代码t
2.5 小结t
第二篇 核心篇
第3章 Spark编程模型t
3.1 RDD概述t
3.1.1 背景t
3.1.2 RDD简介t
3.1.3 RDD的类型t
3.2 RDD的实现t
3.2.1 作业调度t
3.2.2 解析器集成t
3.2.3 内存管理t
3.2.4 检查点支持t
3.2.5 多用户管理t
3.3 编程接口t
3.3.1 RDD分区(Partitions)t
3.3.2 RDD*位置(PreferredLocations)t
3.3.3 RDD依赖关系(Dependencies)t
3.3.4 RDD分区计算(Iterator)t
3.3.5 RDD分区函数(Partitioner)t
3.4 创建操作t
3.4.1 并行化集合创建操作t
3.4.2 外部存储创建操作t
3.5 转换操作t
3.5.1 基础转换操作t
3.5.2 键值转换操作t
3.6 控制操作t
3.7 行动操作t
3.7.1 集合标量行动操作t
3.7.2 存储行动操作t
3.8 小结t
第4章 Spark核心原理t
4.1 消息*t
4.1.1 Spark消息通信架构t
4.1.2 Spark启动消息通信t
4.1.3 Spark运行时消息通信t
4.2 作业执行原理t
4.2.1 概述t
4.2.2 提交作业t
4.2.3 划分调度阶段t
4.2.4 提交调度阶段t
4.2.5 提交任务t
4.2.6 执行任务t
4.2.7 获取执行结果t
4.3 调度算法t
4.3.1 应用程序之间t
4.3.2 作业及调度阶段之间t
4.3.3 任务之间t
4.4 容错及HAt
4.4.1 Executor异常t
4.4.2 Worker异常t
4.4.3 Master异常t
4.5 监控管理t
4.5.1 UI监控t
4.5.2 Metricst
4.5.3 RESTt
4.6 实例演示t
4.6.1 计算年降水实例t
4.6.2 HA配置实例t
4.7 小结t
第5章 Spark存储原理t
5.1 存储分析t
5.1.1 整体架构t
5.1.2 存储级别t
5.1.3 RDD存储调用t
5.1.4 读数据过程t
5.1.5 写数据过程t
5.2 Shuffle分析t
5.2.1 Shuffle简介t
5.2.2 Shuffle的写操作t
5.2.3 Shuffle的读操作t
5.3 序列化和压缩t
5.3.1 序列化t
5.3.2t 压缩t
5.4 共享变量t
5.4.1 广播变量t
5.4.2 累加器t
5.5 实例演示t
5.6 小结t
第6章 Spark运行架构t
6.1 运行架构总体介绍t
6.1.1 总体介绍t
6.1.2 重要类介绍t
6.2 本地(Local)运行模式t
6.2.1 运行模式介绍t
6.2.2 实现原理t
6.3 伪分布(Local-Cluster)运行模式t
6.3.1 运行模式介绍t
6.3.2 实现原理t
6.4 独立(Standalone)运行模式t
6.4.1 运行模式介绍t
6.4.2 实现原理t
6.5 YARN运行模式t
6.5.1 YARN运行框架t
6.5.2 YARN-Client运行模式介绍t
6.5.3 YARN-Client 运行模式实现原理t
6.5.4 YARN-Cluster运行模式介绍t
6.5.5 YARN-Cluster 运行模式实现原理t
6.5.6 YARN-Client与YARN-Cluster对比t
6.6 Mesos运行模式t
6.6.1 Mesos介绍t
6.6.2 粗粒度运行模式介绍t
6.6.3 粗粒度实现原理t
6.6.4 细粒度运行模式介绍t
6.6.5 细粒度实现原理t
6.6.6 Mesos粗粒度和Mesos细粒度对比t
6.7 实例演示t
6.7.1 独立运行模式实例t
6.7.2 YARN-Client实例t
6.7.3 YARN-Cluster实例t
6.8 小结t
第三篇 组件篇
第7章 Spark SQLt
7.1 Spark SQL简介t
7.1.1 Spark SQL发展历史t
7.1.2 DataFrame/Dataset介绍t
7.2 Spark SQL运行原理t
7.2.1 通用SQL执行原理t
7.2.2 SparkSQL运行架构t
7.2.3 SQLContext运行原理分析t
7.2.4 HiveContext介绍t
7.3 使用Hive-Consolet
7.3.1 编译Hive-Consolet
7.3.2 查看执行计划t
7.3.3 应用Hive-Consolet
7.4 使用SQLConsolet
7.4.1 启动HDFS和Spark Shellt
7.4.2 与RDD交互操作t
7.4.3 读取JSON格式数据t
7.4.4 读取Parquet格式数据t
7.4.5 缓存演示t
7.4.6 DSL演示t
7.5 使用Spark SQL CLIt
7.5.1 配置并启动Spark SQL CLIt
7.5.2 实战Spark SQL CLIt
7.6 使用Thrift Servert
7.6.1 配置并启动Thrift Servert
7.6.2 基本操作t
7.6.3 交易数据实例t
7.6.4 使用IDEA开发实例t
7.7 实例演示t
7.7.1 销售数据分类实例t
7.7.2 网店销售数据统计t
7.8 小结t
第8章 Spark Streamingt
8.1 Spark Streaming简介t
8.1.1 术语定义t
8.1.2 Spark Streaming特点t
8.2 Spark Streaming编程模型t
8.2.1 DStream的输入源t
8.2.2 DStream的操作t
8.3 Spark Streaming运行架构t
8.3.1 运行架构t
8.3.2 消息通信t
8.3.3 Receiver分发t
8.3.4 容错性t
8.4 Spark Streaming运行原理t
8.4.1 启动流处理引擎t
8.4.2 接收及存储流数据t
8.4.3 数据处理t
8.5 实例演示t
8.5.1 流数据模拟器t
8.5.2 销售数据统计实例t
8.5.3 Spark Streaming Kafka实例t
8.6 小结t
第9章 Spark MLlibt
9.1 Spark MLlib简介t
9.1.1 Spark MLlib介绍t
9.1.2 Spark MLlib数据类型t
9.1.3 Spark MLlib基本统计方法t
9.1.4 预言模型标记语言t
9.2 线性模型t
9.2.1 数学公式t
9.2.2 线性回归t
9.2.3 线性支持向量机t
9.2.4 逻辑回归t
9.2.5 线性*小二乘法、Lasso和岭回归t
9.2.6 流式线性回归t
9.3 决策树t
9.4 决策模型组合t
9.4.1 随机森林t
9.4.2 梯度提升决策树t
9.5 朴素贝叶斯t
9.6 协同过滤t
9.7 聚类t
9.7.1 K-meanst
9.7.2 高斯混合t
9.7.3 快速迭代聚类t
9.7.4 LDAt
9.7.5 二分K-meanst
9.7.6 流式K-meanst
9.8 降维t
9.8.1 奇异值分解降维t
9.8.2 主成分分析降维t
9.9 特征提取和变换t
9.9.1 词频—逆文档频率t
9.9.2 词向量化工具t
9.9.3 标准化t
9.9.4 范数化t
9.10 频繁模式挖掘t
9.10.1 频繁模式增长t
9.10.2 关联规则挖掘t
9.10.3 PrefixSpant
9.11 实例演示t
9.11.1 K-means聚类算法实例t
9.11.2 手机短信分类实例t
9.12 小结t
第10章 Spark GraphXt
10.1 GraphX介绍t
10.1.1 图计算t
10.1.2 GraphX介绍t
10.1.3 发展历程t
10.2 GraphX实现分析t
10.2.1 GraphX图数据模型t
10.2.2 GraphX图数据存储t
10.2.3 GraphX图切分策略t
10.2.4 GraphX图操作t
10.3 实例演示t
10.3.1 图例演示t
10.3.2 社区发现演示t
10.4 小结t
第11章 SparkRt
11.1 概述t
11.1.1 R语言介绍t
11.1.2 SparkR介绍t
11.2 SparkR与DataFramet
11.2.1 DataFrames介绍t
11.2.2 与DataFrame的相关操作t
11.3 编译安装SparkRt
11.3.1 编译安装R语言t
11.3.2 安装SparkR运行环境t
11.3.3 安装SparkRt
11.3.4 启动并验证安装t
11.4 实例演示t
11.5 小结t
第12章 Alluxiot
12.1 Alluxio简介t
12.1.1 Alluxio介绍t
12.1.2 Alluxio系统架构t
12.1.3 HDFS与Alluxiot
12.2 Alluxio编译部署t
12.2.1 编译Alluxiot
12.2.2 单机部署Alluxiot
12.2.3 集群模式部署Alluxiot
12.3 Alluxio命令行使用t
12.3.1 接口说明t
12.3.2 接口操作示例t
12.4 实例演示t
12.4.1 启动环境t
12.4.2 Alluxio上运行Sparkt
12.4.3 Alluxio上运行MapReducet
12.5 小结t
本书附录部分请到博文视点网站下载www.broadview.com.cn/30236。
在线试读
内容介绍
本书以Spark 2.0 版本为基础进行编写,全面介绍了Spark 核心及其生态圈组件技术。主要内容包括Spark 生态圈、实战环境搭建、编程模型和内部重要模块的分析,重点介绍了消息通信框架、作业调度、容错执行、监控管理、存储管理以及运行框架,同时还介绍了Spark 生态圈相关组件,包括了Spark SQL 的即席查询、Spark Streaming 的实时流处理应用、MLbase/MLlib 的机器学习、GraphX 的图处理、SparkR 的数学计算和Alluxio 的分布式内存文件系统等。本书从Spark 核心技术进行深入分析,重要章节会结合源代码解读其实现原理,围绕着技术原理介绍了相关典型实例,读者通过这些实例可以更加深入地理解Spark 的运行机制。另外本书还应用了大量的图表进行说明,通过这种方式让读者能够更加直观地理解Spark 相关原理。
细节图
作者介绍
郭景瞻,现就职京东商城,开源技术爱好者,对Spark等大数据系统有较为深入的研究,对Spark应用开发、运维和测试有较多的经验,喜欢深入阅读Spark源代码,分析其核心原理和运行机制。个人博客地址为http://www.cnblogs.com/shishanyuan,在该博客中提供了本书的附录和勘误。
评论晒单