图书介绍

大数据技术丛书 Spark内核设计的艺术 架构设计与实现PDF|Epub|txt|kindle电子书版本网盘下载

大数据技术丛书 Spark内核设计的艺术 架构设计与实现
  • 耿嘉安著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111584391
  • 出版时间:2018
  • 标注页数:690页
  • 文件大小:83MB
  • 文件页数:705页
  • 主题词:数据处理软件

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

大数据技术丛书 Spark内核设计的艺术 架构设计与实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 环境准备1

1.1运行环境准备2

1.1.1安装JDK2

1.1.2安装Scala2

1.1.3安装Spark3

1.2 Spark初体验4

1.2.1运行spark-shell4

1.2.2执行word count5

1.2.3剖析spark-shell9

1.3阅读环境准备14

1.3.1安装SBT15

1.3.2安装Git15

1.3.3安装Eclipse Scala IDE插件15

1.4 Spark源码编译与调试17

1.5小结23

第2章 设计理念与基本架构24

2.1初识Spark25

2.1.1 Hadoop MRv 1的局限25

2.1.2 Spark的特点26

2.1.3 Spark使用场景28

2.2 Spark基础知识29

2.3 Spark基本设计思想31

2.3.1 Spark模块设计32

2.3.2 Spark模型设计34

2.4 Spark基本架构36

2.5小结38

第3章Spark基础设施39

3.1 Spark配置40

3.1.1系统属性中的配置40

3.1.2使用SparkConf配置的API41

3.1.3克隆SparkConf配置42

3.2 Spark内置RPC框架42

3.2.1 RPC配置TransportConf45

3.2.2 RPC客户端工厂Transport-ClientFactory47

3.2.3 RPC服务端TransportServer53

3.2.4管道初始化56

3.2.5 TransportChannelHandler详解57

3.2.6服务端RpcHandler详解63

3.2.7服务端引导程序Transport-ServerBootstrap68

3.2.8客户端TransportClient详解71

3.3事件总线78

3.3.1 ListenerBus的继承体系79

3.3.2 SparkListenerBus详解80

3.3.3 LiveListenerBus详解83

3.4度量系统87

3.4.1 Source继承体系87

3.4.2 Sink继承体系89

3.5小结92

第4章SparkContext的初始化93

4.1 SparkContext概述94

4.2创建Spark环境97

4.3 SparkUI的实现100

4.3.1 SparkUI概述100

4.3.2 WebUI框架体系102

4.3.3创建SparkUI107

4.4创建心跳接收器111

4.5创建和启动调度系统112

4.6初始化块管理器BlockManager114

4.7启动度量系统114

4.8创建事件日志监听器115

4.9创建和启动ExecutorAl location-Manager116

4.10 ContextCleaner的创建与启动120

4.10.1创建ContextCleaner120

4.10.2启动ContextCleaner120

4.11额外的SparkListener与启动事件总线122

4.12 Spark环境更新123

4.13 SparkContext初始化的收尾127

4.14 SparkContext提供的常用方法128

4.15 SparkContext的伴生对象130

4.16小结131

第5章Spark执行环境132

5.1 SparkEnv概述133

5.2安全管理器SecurityManager133

5.3 RPC环境135

5.3.1 RPC端点RpcEndpoint136

5.3.2 RPC端点引用RpcEndpointRef139

5.3.3创建传输上下文TransportConf142

5.3.4消息调度器Dispatcher142

5.3.5创建传输上下文Transport-Context154

5.3.6创建传输客户端工厂Transport-ClientFactory159

5.3.7创建TransportServe160

5.3.8客户端请求发送162

5.3.9 NettyRpcEnv中的常用方法173

5.4序列化管理器SerializerManager175

5.5广播管理器BroadcastManager178

5.6 map任务输出跟踪器185

5.6.1 MapOutputTracker的实现187

5.6.2 MapOutputTrackerMaster的实现原理191

5.7构建存储体系199

5.8创建度量系统201

5.8.1 MetricsConfig详解203

5.8.2 MetricsSystem中的常用方法207

5.8.3启动MetricsSystem209

5.9输出提交协调器211

5.9.1 OutputCommitCoordinator-Endpoint的实现211

5.9.2 OutputCommitCoordinator的实现212

5.9.3 OutputCommitCoordinator的工作原理216

5.10创建SparkEnv217

5.11小结217

第6章 存储体系219

6.1存储体系概述220

6.1.1存储体系架构220

6.1.2基本概念222

6.2 Block信息管理器227

6.2.1 Block锁的基本概念227

6.2.2 Block锁的实现229

6.3磁盘Block管理器234

6.3.1本地目录结构234

6.3.2 DiskBlockManager提供的方法236

6.4磁盘存储DiskStore239

6.5内存管理器242

6.5.1内存池模型243

6.5.2 StorageMemoryPool详解244

6.5.3 MemoryManager模型247

6.5.4 UnifiedMemoryManager详解250

6.6内存存储MemoryStore252

6.6.1 MemoryStore的内存模型253

6.6.2 MemoryStore提供的方法255

6.7块管理器BlockManager265

6.7.1 BlockManager的初始化265

6.7.2 BIockManager提供的方法266

6.8 BlockManagerMaster对Block-Manager的管理285

6.8.1 BlockManagerMaster的职责285

6.8.2 BlockManagerMasterEndpoint详解286

6.8.3 BlockManagerSlaveEndpoint详解289

6.9 Block传输服务290

6.9.1初始化NettyBlockTransfer-Service291

6.9.2 NettyBlockRpcServer详解292

6.9.3 Shuffle客户端296

6.10 DiskBlockObjectWriter详解305

6.11小结308

第7章 调度系统309

7.1调度系统概述310

7.2 RDD详解312

7.2.1为什么需要RDD312

7.2.2 RDD实现的初次分析313

7.2.3 RDD依赖316

7.2.4分区计算器Partitioner318

7.2.5 RDDInfo320

7.3 Stage详解321

7.3.1 ResultStage的实现322

7.3.2 ShuffeMapStage的实现323

7.3.3 StageInfo324

7.4面向DAG的调度器DAGScheduler326

7.4.1 JobListener与JobWaiter326

7.4.2 ActiveJob详解328

7.4.3 DAGSchedulerEventProcessLoop的简要介绍328

7.4.4 DAGScheduler的组成329

7.4.5 DAGScheduler提供的常用方法330

7.4.6 DAGScheduler与Job的提交334

7.4.7构建Stage337

7.4.8提交ResultStage341

7.4.9提交还未计算的Task343

7.4.10 DAGScheduler的调度流程347

7.4.11 Task执行结果的处理348

7.5调度池Pool351

7.5.1调度算法352

7.5.2 Pool的实现354

7.5.3调度池构建器357

7.6任务集合管理器TaskSetManager363

7.6.1 Task集合363

7.6.2 TaskSetManager的成员属性364

7.6.3调度池与推断执行366

7.6.4 Task本地性370

7.6.5 TaskSetManager的常用方法373

7.7运行器后端接口LauncherBackend383

7.7.1 BackendConnection的实现384

7.7.2 LauncherBackend的实现386

7.8调度后端接口SchedulerBackend389

7.8.1 SchedulerBackend的定义389

7.8.2 LocalSchedulerBackend的实现分析390

7.9任务结果获取器TaskResultGetter394

7.9.1处理成功的Task394

7.9.2处理失败的Task396

7.10任务调度器TaskScheduler397

7.10.1 TaskSchedulerImpl的属性397

7.10.2 TaskSchedulerImpl的初始化399

7.10.3 TaskSchedulerImpl的启动399

7.10.4 TaskSchedulerImpl与Task的提交400

7.10.5 TaskSchedulerImpl与资源分配402

7.10.6 TaskSchedulerImpl的调度流程405

7.10.7 TaskSchedulerImpl对执行结果的处理406

7.10.8 TaskSchedulerImpl的常用方法409

7.11小结412

第8章 计算引擎413

8.1计算引擎概述414

8.2内存管理器与执行内存417

8.2.1 ExecutionMemoryPool详解417

8.2.2 MemoryManager模型与执行内存420

8.2.3 UnifiedMemoryManager与执行内存421

8.3内存管理器与Tungsten423

8.3.1 MemoryBlock详解423

8.3.2 MemoryManager模型与Tungsten425

8.3.3 Tungsten的内存分配器425

8.4任务内存管理器431

8.4.1 TaskMemoryManager详解431

8.4.2内存消费者439

8.4.3执行内存整体架构441

8.5 Task详解443

8.5.1任务上下文TaskContext443

8.5.2 Task的定义446

8.5.3 ShuffleMapTask的实现449

8.5.4 ResultTask的实现450

8.6 IndexShuffleBlockResolver详解451

8.7采样与估算455

8.7.1 SizeTracker的实现分析455

8.7.2 SizeTracker的工作原理457

8.8特质WritablePartitionedPair-Collection458

8.9 AppendOnlyMap的实现分析460

8.9.1 AppendOnlyMap的容量增长461

8.9.2 AppendOnlyMap的数据更新462

8.9.3 AppendOnlyMap的缓存聚合算法464

8.9.4 AppendOnlyMap的内置排序466

8.9.5 AppendOnlyMap的扩展467

8.10 PartitionedPairBuffer的实现分析469

8.10.1 PartitionedPairBuffer的容量增长469

8.10.2 PartitionedPairBuffer的插入470

8.10.3 PartitionedPairBuffer的迭代器471

8.11外部排序器472

8.11.1 ExternalSorter详解473

8.11.2 ShuffleExternalSorter详解487

8.12 Shuffle管理器490

8.12.1 ShuffleWriter详解491

8.12.2 ShuffleBlockFetcherIterator详解502

8.12.3 BlockStoreShuffleReader详解510

8.12.4 SortShuffleManager详解513

8.13 map端与reduce端的Shuffle组合516

8.14小结519

第9章 部署模式520

9.1心跳接收器HeartbeatReceiver521

9.2 Executor的实现分析527

9.2.1 Executor的心跳报告528

9.2.2运行Task530

9.3 local部署模式535

9.4持久化引擎PersistenceEngine537

9.4.1基于文件系统的持久化引擎539

9.4.2基于ZooKeeper的持久化引擎541

9.5领导选举代理542

9.6 Master详解546

9.6.1启动Master549

9.6.2检查Worker超时553

9.6.3被选举为领导时的处理554

9.6.4一级资源调度558

9.6.5注册Worker568

9.6.6更新Worker的最新状态570

9.6.7处理Worker的心跳570

9.6.8注册Application571

9.6.9处理Executor的申请573

9.6.10处理Executor的状态变化573

9.6.11 Master的常用方法574

9.7 Worker详解578

9.7.1启动Worker581

9.7.2向Master注册Worker584

9.7.3向Master发送心跳589

9.7.4 Worker与领导选举591

9.7.5运行Driver593

9.7.6运行Executor594

9.7.7处理Executor的状态变化599

9.8 StandaloneAppClient实现600

9.8.1 ClientEndpoint的实现分析601

9.8.2 StandaloneAppClient的实现分析606

9.9 StandaloneSchedulerBackend的实现分析607

9.9.1 StandaloneSchedulerBackend的属性607

9.9.2 DriverEndpoint的实现分析609

9.9.3 StandaloneSchedulerBackend的启动614

9.9.4 StandaloneSchedulerBackend的停止617

9.9.5 StandaloneSchedulerBackend与资源分配618

9.10 CoarseGrainedExecutorBackend详解619

9.10.1 CoarseGrainedExecutorBackend进程620

9.10.2 CoarseGrainedExecutorBackend的功能分析622

9.11 local-cluster部署模式625

9.11.1启动本地集群625

9.11.2 local-cluster部署模式的启动过程627

9.11.3 local-cluster部署模式下Executor的分配过程628

9.11.4 local-cluster部署模式下的任务提交执行过程629

9.12 Standalone部署模式631

9.12.1 Standalone部署模式的启动过程632

9.12.2 Standalone部署模式下Executor的分配过程634

9.12.3 Standalone部署模式的资源回收635

9.12.4 Standalone部署模式的容错机制636

9.13其他部署方案639

9.13.1 YARN639

9.13.2 Mesos644

9.14小结646

第10章Spark API647

10.1基本概念648

10.2数据源DataSource650

10.2.1 DataSourceRegister详解650

10.2.2 DataSource详解651

10.3检查点的实现655

10.3.1 CheckpointRDD的实现655

10.3.2 RDDCheckpointData的实现660

10.3.3 ReliableRDDCheckpointData的实现662

10.4 RDD的再次分析663

10.4.1转换API663

10.4.2动作API665

10.4.3检查点API的实现分析667

10.4.4迭代计算669

10.5数据集合Dataset671

10.6 DataFrameReader详解673

10.7 SparkSession详解676

10.7.1 SparkSession的构建器Builder676

10.7.2 SparkSession的API679

10.8 word count例子679

10.8.1 Job准备阶段680

10.8.2 Job的提交与调度685

10.9小结689

附录690

热门推荐