深入理解Spark

深入理解Spark

作者:耿嘉安

出版社:机械工业

出版年:2016年1月

ISBN:9787111522348

所属分类:经济金融

书刊介绍

《深入理解Spark》内容简介

本书结合大量图和示例,对Spark的架构、部署模式和工作模块的设计理念、实现源码与使用技巧进行了深入的剖析与解读。《深入理解SPARK:核心思想与源码分析》一书对Spark1.2.0版本的源代码进行了全面而深入的分析,旨在为Spark的优化、定制和扩展提供原理性的指导。阿里巴巴集团专家鼎力推荐、阿里巴巴资深Java开发和大数据专家撰写。
耿嘉安,10年IT行业相关经验。就职于阿里巴巴商家业务事业部,任资深Java工程师,专注于开源和大数据领域,目前与小伙伴们基于ODPS构建阿里的大数据商业解决方案——御膳房。在大量的工作实践中,对J2EE、JVM、Tomcat、Spring、Hadoop、Spark、MySQL、Redis都有深入研究,尤其喜欢剖析开源项目的源码实现。早期从事J2EE企业级应用开发,对Java相关技术有独到见解。业余时间喜欢研究中国古代历史,古诗词,旅游,足球等。

作品目录

前言
准备篇
第1章:环境准备
1.1、运行环境准备
1.2、Spark初体验
1.3、阅读环境准备
1.4、Spark源码编译与调试
1.5、小结
第2章:Spark设计理念与基本架构
2.1、初识Spark
2.2、Spark基础知识
2.3、Spark基本设计思想
2.4、Spark基本架构
2.5、小结
核心设计篇
第3章:SparkContext的初始化
3.1、SparkContext概述
3.2、创建执行环境SparkEnv
3.3、创建metadataCleaner
3.4、SparkUI详解
3.5、Hadoop相关配置及Executor环境变量
3.6、创建任务调度器TaskScheduler
3.7、创建和启动DAGScheduler
3.8、TaskScheduler的启动
3.9、启动测量系统MetricsSystem
3.10、创建和启动ExecutorAllocationManager
3.11、ContextCleaner的创建与启动
3.12、Spark环境更新
3.13、创建DAGSchedulerSource和BlockManagerSource
3.14、将SparkContext标记为激活
3.15、小结
第4章:存储体系
4.1、存储体系概述
4.2、shuffle服务与客户端
4.3、BlockManagerMaster对BlockManager的管理
4.4、磁盘块管理器DiskBlockManager
4.5、磁盘存储DiskStore
4.6、内存存储MemoryStore
4.7、Tachyon存储TachyonStore
4.8、块管理器BlockManager
4.9、metadataCleaner和broadcastCleaner
4.10、缓存管理器CacheManager
4.11、压缩算法
4.12、磁盘写入实现DiskBlockObjectWriter
4.13、块索引shuffle管理器IndexShuffleBlockManager
4.14、shuffle内存管理器ShuffleMemoryManager
4.15、小结
第5章:任务提交与执行
5.1、任务概述
5.2、广播Hadoop的配置信息
5.3、RDD转换及DAG构建
5.4、任务提交
5.5、执行任务
5.6、任务执行后续处理
5.7、小结
第6章:计算引擎
6.1、迭代计算
6.2、什么是shuffle
6.3、map端计算结果缓存处理
6.4、map端计算结果持久化
6.5、reduce端读取中间计算结果
6.6、reduce端计算
6.7、map端与reduce端组合分析
6.8、小结
第7章:部署模式
7.1、local部署模式
7.2、local-cluster部署模式
7.3、Standalone部署模式
7.4、容错机制
7.5、其他部署方案
7.6、小结
扩展篇
第8章:Spark
SQL
8.1、Spark
SQL总体设计
8.2、字典表Catalog
8.3、Tree和TreeNode
8.4、词法解析器Parser的设计与实现
8.5、Rule和RuleExecutor
8.6、Analyzer与Optimizer的设计与实现
8.7、生成物理执行计划
8.8、执行物理执行计划
8.9、Hive
8.10、应用举例:JavaSparkSQL
8.11、小结
第9章:流式计算
9.1、Spark
Streaming总体设计
9.2、StreamingContext初始化
9.3、输入流接收器规范Receiver
9.4、数据流抽象DStream
9.5、流式计算执行过程分析
9.6、窗口操作
9.7、应用举例
9.8、小结
第10章:图计算
10.1、Spark
GraphX总体设计
10.2、图操作
10.3、Pregel
API
10.4、Graph的构建
10.5、顶点集合抽象VertexRDD
10.6、边集合抽象EdgeRDD
10.7、图分割
10.8、常用算法
10.9、应用举例
10.10、小结
第11章:机器学习
11.1、机器学习概论
11.2、Spark
MLlib总体设计
11.3、数据类型
11.4、基础统计
11.5、分类和回归
11.6、决策树
11.7、随机森林
11.8、梯度提升决策树
11.9、朴素贝叶斯
11.10、保序回归
11.11、协同过滤
11.12、聚类
11.13、维数减缩
11.14、特征提取与转型
11.15、频繁模式挖掘
11.16、预言模型标记语言
11.17、管道
11.18、小结
附录A
Utils
附录B
Akka
附录C
Jetty
附录D
Metrics
附录E
Hadoop
word
count
附录F
CommandUtils
附录G
Netty
附录H
源码编译错误

相关推荐

微信二维码