互联网
类型
7.0
豆瓣评分
可以朗读
语音朗读
176千字
字数
2015-09-01
发行日期
展开全部
主编推荐语
以源码为基础,深入分析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 小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。