大数据技术丛书 Spark内核设计的艺术 架构设计与实现PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:耿嘉安著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111584391
- 页数:690 页
第1章 环境准备 1
1.1运行环境准备 2
1.1.1安装JDK 2
1.1.2安装Scala 2
1.1.3安装Spark 3
1.2 Spark初体验 4
1.2.1运行spark-shell 4
1.2.2执行word count 5
1.2.3剖析spark-shell 9
1.3阅读环境准备 14
1.3.1安装SBT 15
1.3.2安装Git 15
1.3.3安装Eclipse Scala IDE插件 15
1.4 Spark源码编译与调试 17
1.5小结 23
第2章 设计理念与基本架构 24
2.1初识Spark 25
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配置的API 41
3.1.3克隆SparkConf配置 42
3.2 Spark内置RPC框架 42
3.2.1 RPC配置TransportConf 45
3.2.2 RPC客户端工厂Transport-ClientFactory 47
3.2.3 RPC服务端TransportServer 53
3.2.4管道初始化 56
3.2.5 TransportChannelHandler详解 57
3.2.6服务端RpcHandler详解 63
3.2.7服务端引导程序Transport-ServerBootstrap 68
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创建SparkUI 107
4.4创建心跳接收器 111
4.5创建和启动调度系统 112
4.6初始化块管理器BlockManager 114
4.7启动度量系统 114
4.8创建事件日志监听器 115
4.9创建和启动ExecutorAl location-Manager 116
4.10 ContextCleaner的创建与启动 120
4.10.1创建ContextCleaner 120
4.10.2启动ContextCleaner 120
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安全管理器SecurityManager 133
5.3 RPC环境 135
5.3.1 RPC端点RpcEndpoint 136
5.3.2 RPC端点引用RpcEndpointRef 139
5.3.3创建传输上下文TransportConf 142
5.3.4消息调度器Dispatcher 142
5.3.5创建传输上下文Transport-Context 154
5.3.6创建传输客户端工厂Transport-ClientFactory 159
5.3.7创建TransportServe 160
5.3.8客户端请求发送 162
5.3.9 NettyRpcEnv中的常用方法 173
5.4序列化管理器SerializerManager 175
5.5广播管理器BroadcastManager 178
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启动MetricsSystem 209
5.9输出提交协调器 211
5.9.1 OutputCommitCoordinator-Endpoint的实现 211
5.9.2 OutputCommitCoordinator的实现 212
5.9.3 OutputCommitCoordinator的工作原理 216
5.10创建SparkEnv 217
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磁盘存储DiskStore 239
6.5内存管理器 242
6.5.1内存池模型 243
6.5.2 StorageMemoryPool详解 244
6.5.3 MemoryManager模型 247
6.5.4 UnifiedMemoryManager详解 250
6.6内存存储MemoryStore 252
6.6.1 MemoryStore的内存模型 253
6.6.2 MemoryStore提供的方法 255
6.7块管理器BlockManager 265
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-Service 291
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为什么需要RDD 312
7.2.2 RDD实现的初次分析 313
7.2.3 RDD依赖 316
7.2.4分区计算器Partitioner 318
7.2.5 RDDInfo 320
7.3 Stage详解 321
7.3.1 ResultStage的实现 322
7.3.2 ShuffeMapStage的实现 323
7.3.3 StageInfo 324
7.4面向DAG的调度器DAGScheduler 326
7.4.1 JobListener与JobWaiter 326
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构建Stage 337
7.4.8提交ResultStage 341
7.4.9提交还未计算的Task 343
7.4.10 DAGScheduler的调度流程 347
7.4.11 Task执行结果的处理 348
7.5调度池Pool 351
7.5.1调度算法 352
7.5.2 Pool的实现 354
7.5.3调度池构建器 357
7.6任务集合管理器TaskSetManager 363
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运行器后端接口LauncherBackend 383
7.7.1 BackendConnection的实现 384
7.7.2 LauncherBackend的实现 386
7.8调度后端接口SchedulerBackend 389
7.8.1 SchedulerBackend的定义 389
7.8.2 LocalSchedulerBackend的实现分析 390
7.9任务结果获取器TaskResultGetter 394
7.9.1处理成功的Task 394
7.9.2处理失败的Task 396
7.10任务调度器TaskScheduler 397
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内存管理器与Tungsten 423
8.3.1 MemoryBlock详解 423
8.3.2 MemoryManager模型与Tungsten 425
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任务上下文TaskContext 443
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-Collection 458
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心跳接收器HeartbeatReceiver 521
9.2 Executor的实现分析 527
9.2.1 Executor的心跳报告 528
9.2.2运行Task 530
9.3 local部署模式 535
9.4持久化引擎PersistenceEngine 537
9.4.1基于文件系统的持久化引擎 539
9.4.2基于ZooKeeper的持久化引擎 541
9.5领导选举代理 542
9.6 Master详解 546
9.6.1启动Master 549
9.6.2检查Worker超时 553
9.6.3被选举为领导时的处理 554
9.6.4一级资源调度 558
9.6.5注册Worker 568
9.6.6更新Worker的最新状态 570
9.6.7处理Worker的心跳 570
9.6.8注册Application 571
9.6.9处理Executor的申请 573
9.6.10处理Executor的状态变化 573
9.6.11 Master的常用方法 574
9.7 Worker详解 578
9.7.1启动Worker 581
9.7.2向Master注册Worker 584
9.7.3向Master发送心跳 589
9.7.4 Worker与领导选举 591
9.7.5运行Driver 593
9.7.6运行Executor 594
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 YARN 639
9.13.2 Mesos 644
9.14小结 646
第10章Spark API 647
10.1基本概念 648
10.2数据源DataSource 650
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转换API 663
10.4.2动作API 665
10.4.3检查点API的实现分析 667
10.4.4迭代计算 669
10.5数据集合Dataset 671
10.6 DataFrameReader详解 673
10.7 SparkSession详解 676
10.7.1 SparkSession的构建器Builder 676
10.7.2 SparkSession的API 679
10.8 word count例子 679
10.8.1 Job准备阶段 680
10.8.2 Job的提交与调度 685
10.9小结 689
附录 690
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《新编历史小丛书 祖逖北伐》何兹全著 2019
- 《国际经典影像诊断学丛书 消化影像诊断学 原著第3版》王振常,蒋涛,李宏军,杨正汉译;(美)迈克尔·P.费德勒 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《本草古籍辑注丛书 第1辑 《食疗本草》辑校》(唐)孟诜撰;(唐)张鼎增补;尚志钧辑校 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《早期道教经韵授度体系研究》陈文安著 2019
- 《我的“和谐语文”探索录》曾志安著 2017
- 《蟾宫览胜》王世杰,宣焕灿,郑永春,朱丹,黎廷宇,陈敬安著 2013
- 《南宋宁波文化史》张如安著 2013
- 《攀登者》毛时安著 2019
- 《进安水墨》刘进安著 2017
- 《中国诗歌三十年 当今诗人群落》孙琴安著 2013
- 《让青春的理论之光闪耀》叶利军,冷舜安著 2012
- 《文化法则与文明定律 中华文明复兴的千年机遇》陈湘安著 2013
- 《元史暨中古史论稿》李治安著 2013
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019