展开全部

主编推荐语

以源码为基础,深入分析Spark内核的设计理念和架构实现。

内容简介

Spark是不断壮大的大数据分析解决方案家族中备受关注的新增成员。它不仅为分布式数据集的处理提供一个有效框架,而且以高效的方式处理分布式数据集。它支持实时处理、流处理和批处理,提供了All in One的统一解决方案,使得Spark极具竞争力。本书系统讲解各个核心模块的实现,为性能调优、二次开发和系统运维提供理论支持;本文最后以项目实战的方式,系统讲解生产环境下Spark应用的开发、部署和性能调优。

目录

  • 版权信息
  • 前言
  • 第1章 Spark简介
  • 1.1 Spark的技术背景
  • 1.2 Spark的优点
  • 1.3 Spark架构综述
  • 1.4 Spark核心组件概述
  • 1.4.1 Spark Streaming
  • 1.4.2 MLlib
  • 1.4.3 Spark SQL
  • 1.4.4 GraphX
  • 1.5 Spark的整体代码结构规模
  • 第2章 Spark学习环境的搭建
  • 2.1 源码的获取与编译
  • 2.1.1 源码获取
  • 2.1.2 源码编译
  • 2.2 构建Spark的源码阅读环境
  • 2.3 小结
  • 第3章 RDD实现详解
  • 3.1 概述
  • 3.2 什么是RDD
  • 3.2.1 RDD的创建
  • 3.2.2 RDD的转换
  • 3.2.3 RDD的动作
  • 3.2.4 RDD的缓存
  • 3.2.5 RDD的检查点
  • 3.3 RDD的转换和DAG的生成
  • 3.3.1 RDD的依赖关系
  • 3.3.2 DAG的生成
  • 3.3.3 Word Count的RDD转换和DAG划分的逻辑视图
  • 3.4 RDD的计算
  • 3.4.1 Task简介
  • 3.4.2 Task的执行起点
  • 3.4.3 缓存的处理
  • 3.4.4 checkpoint的处理
  • 3.4.5 RDD的计算逻辑
  • 3.5 RDD的容错机制
  • 3.6 小结
  • 第4章 Scheduler模块详解
  • 4.1 模块概述
  • 4.1.1 整体架构
  • 4.1.2 Scheduler的实现概述
  • 4.2 DAGScheduler实现详解
  • 4.2.1 DAGScheduler的创建
  • 4.2.2 Job的提交
  • 4.2.3 Stage的划分
  • 4.2.4 任务的生成
  • 4.3 任务调度实现详解
  • 4.3.1 TaskScheduler的创建
  • 4.3.2 Task的提交概述
  • 4.3.3 任务调度具体实现
  • 4.3.4 Task运算结果的处理
  • 4.4 Word Count调度计算过程详解
  • 4.5 小结
  • 第5章 Deploy模块详解
  • 5.1 Spark运行模式概述
  • 5.1.1 local
  • 5.1.2 Mesos
  • 5.1.3 YARN
  • 5.2 模块整体架构
  • 5.3 消息传递机制详解
  • 5.3.1 Master和Worker
  • 5.3.2 Master和Client
  • 5.3.3 Client和Executor
  • 5.4 集群的启动
  • 5.4.1 Master的启动
  • 5.4.2 Worker的启动
  • 5.5 集群容错处理
  • 5.5.1 Master异常退出
  • 5.5.2 Worker异常退出
  • 5.5.3 Executor异常退出
  • 5.6 Master HA实现详解
  • 5.6.1 Master启动的选举和数据恢复策略
  • 5.6.2 集群启动参数的配置
  • 5.6.3 Curator Framework简介
  • 5.6.4 ZooKeeperLeaderElectionAgent的实现
  • 5.7 小结
  • 第6章 Executor模块详解
  • 6.1 Standalone模式的Executor分配详解
  • 6.1.1 SchedulerBackend创建AppClient
  • 6.1.2 AppClient向Master注册Application
  • 6.1.3 Master根据AppClient的提交选择Worker
  • 6.1.4 Worker根据Master的资源分配结果创建Executor
  • 6.2 Task的执行
  • 6.2.1 依赖环境的创建和分发
  • 6.2.2 任务执行
  • 6.2.3 任务结果的处理
  • 6.2.4 Driver端的处理
  • 6.3 参数设置
  • 6.3.1 spark.executor.memory
  • 6.3.2 日志相关
  • 6.3.3 spark.executor.heartbeatInterval
  • 6.4 小结
  • 第7章 Shuffle模块详解
  • 7.1 Hash Based Shuffle Write
  • 7.1.1 Basic Shuffle Writer实现解析
  • 7.1.2 存在的问题
  • 7.1.3 Shuffle Consolidate Writer
  • 7.1.4 小结
  • 7.2 Shuffle Pluggable框架
  • 7.2.1 org.apache.spark.shuffle.ShuffleManager
  • 7.2.2 org.apache.spark.shuffle.ShuffleWriter
  • 7.2.3 org.apache.spark.shuffle.ShuffleBlockManager
  • 7.2.4 org.apache.spark.shuffle.ShuffleReader
  • 7.2.5 如何开发自己的Shuffle机制
  • 7.3 Sort Based Write
  • 7.4 Shuffle Map Task运算结果的处理
  • 7.4.1 Executor端的处理
  • 7.4.2 Driver端的处理
  • 7.5 Shuffle Read
  • 7.5.1 整体流程
  • 7.5.2 数据读取策略的划分
  • 7.5.3 本地读取
  • 7.5.4 远程读取
  • 7.6 性能调优
  • 7.6.1 spark.shuffle.manager
  • 7.6.2 spark.shuffle.spill
  • 7.6.3 spark.shuffle.memoryFraction和spark.shuffle.safetyFraction
  • 7.6.4 spark.shuffle.sort.bypassMergeThreshold
  • 7.6.5 spark.shuffle.blockTransferService
  • 7.6.6 spark.shuffle.consolidateFiles
  • 7.6.7 spark.shuffle.compress和spark.shuffle.spill.compress
  • 7.6.8 spark.reducer.maxMbInFlight
  • 7.7 小结
  • 第8章 Storage模块详解
  • 8.1 模块整体架构
  • 8.1.1 整体架构
  • 8.1.2 源码组织结构
  • 8.1.3 Master和Slave的消息传递详解
  • 8.2 存储实现详解
  • 8.2.1 存储级别
  • 8.2.2 模块类图
  • 8.2.3 org.apache.spark.storage.DiskStore实现详解
  • 8.2.4 org.apache.spark.storage.MemoryStore实现详解
  • 8.2.5 org.apache.spark.storage.TachyonStore实现详解
  • 8.2.6 Block存储的实现
  • 8.3 性能调优
  • 8.3.1 spark.local.dir
  • 8.3.2 spark.executor.memory
  • 8.3.3 spark.storage.memoryFraction
  • 8.3.4 spark.streaming.blockInterval
  • 8.4 小结
  • 第9章 企业应用概述
  • 9.1 Spark在百度
  • 9.1.1 现状
  • 9.1.2 百度开放云BMR的Spark
  • 9.1.3 在Spark中使用Tachyon
  • 9.2 Spark在阿里
  • 9.3 Spark在腾讯
  • 9.4 小结
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。