深入理解Spark:核心思想与源码分析

深入理解Spark:核心思想与源码分析

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

对Spark的核心模块、部署和协作模块的实现原理与使用技巧进行了深入的剖析与解读。

内容简介

本书分为三大部分:第一部分为准备篇(第1~2章),简单介绍了Spark的环境搭建和基本原理,帮助读者了解一些背景知识。第二部分为核心设计篇(第3~7章),着重讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析。第三部分为扩展篇(第8~11章),主要讲解基于Spark核心的各种扩展及应用,包括:SQL处理引擎、Hive处理、流式计算框架Spark Streaming、图计算框架GraphX、机器学习库MLlib等内容。

作者简介

作者耿嘉安,10余年IT行业相关经验。先后就职于阿里巴巴、艺龙、360,专注于开源和大数据领域。在大量的工作实践中,对J2EE、JVM、Tomcat、Spring、Hadoop、Spark、MySQL、Redis都有深入研究,尤其喜欢剖析开源项目的源码实现。早期从事J2EE企业级应用开发,对Java相关技术有独到见解。著有《深入理解Spark:核心思想与源码分析》一书。

章节目录

版权信息

前言

准备篇

第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 源码编译错误

深入理解Spark:核心思想与源码分析是2016年由机械工业出版社华章分社出版,作者耿嘉安。

得书感谢您对《深入理解Spark:核心思想与源码分析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深入理解Spring Cloud与微服务构建 电子书
适读人群 :本书既适合Spring Cloud初学者入门使用,又适合正在做微服务实践的架构师或打算实施微服务的团队作为参考用书,同时也可作为高等院校计算机相关专业的师生用书和培训学校的教材。 1. 深入浅出讲解Spring Cloud组件、开发工具、框架等知识点。 2. 使读者全面理解微服务的构建原理。 3. 实例丰富,解释清晰,易于读者真正理解原理,并学以致用。 4. 深入讲解Spring Cloud OAuth2,直击市场需求痛点。
深入Activiti流程引擎:核心原理与高阶实战 电子书
企业级BPM开发指南,科学而有效地管理业务。
深入理解Android 5源代码 电子书
本书共分20章,循序渐进地分析了Android系统的基本源代码,依次讲解了Android系统介绍,获取并编译Android源代码,分析JavaNativeInterface系统,分析HAL系统,分析IPC通信机制,分析Binder对象和Java接口,分析ServiceManager和MessageQueue,init进程和Zygote进程,System进程和应用程序进程,分析Activity组件,
深入理解TensorFlow:架构设计与实现原理 电子书
本书以TensorFlow1.2为基础,从基本概念、内部实现和实践等方面深入剖析了TensorFlow。书中首先介绍了TensorFlow设计目标、基本架构、环境准备和基础概念,接着重点介绍了以数据流图为核心的机器学习编程框架的设计原则与核心实现,紧接着还将TensorFlow与深度学习相结合,从理论基础和程序实现这两个方面系统介绍了CNN、GAN和RNN等经典模型,然后深入剖析了TensorFl
图解Spark:大数据快速分析实战 电子书
基于大数据分析实战,图文并茂,系统讲解Spark内核的原理,有助于读者快速掌握Spark开源集群计算框架的使用方法,涵盖Spark 3.0新特性。