商品参数
大数据处理框架Apache Spark设计与实现(全彩) |
|
定价 |
106.00 |
出版社 |
电子工业出版社 |
版次 |
1 |
出版时间 |
2020年07月 |
开本 |
16开 |
作者 |
许利杰 |
装帧 |
平塑勒 |
页数 |
276 |
字数 |
355200 |
ISBN编码 |
9787121391712 |
内容介绍
近年来,以Apache Spark为代表的大数据处理框架在学术界和工业界得到了广泛的使用。本书以Apache Spark框架为核心,z结了大数据处理框架的基础知识、核心理论、典型的Spark应用,以及相关的性能和可靠性问题。本书分9章,主要包含四部分内容。DY部分 大数据处理框架的基础知识(D1~2章):介绍大数据处理框架的基本概念、系统架构、编程模型、相关的研究工作,并以一个典型的Spark应用为例概述Spark应用的执行流程。D二部分 Spark大数据处理框架的核心理论(D3~4章):介绍Spark框架将应用程序转化为逻辑处理流程,进而转化为可并行执行的物理执行计划的一般过程及方法。D三部分 典型的Spark应用(D5章):介绍迭代型的Spark机器学习应用和图计算应用。D四部分 大数据处理框架性能和可靠性保障机制(D6~9章):介绍Spark框架的Shuffle机制、数据缓存机制、错误容忍机制、内存管理机制等。
作者介绍
许利杰现任中国科学院软件研究所副研究员、硕士生导师,于中科院软件所获得博士学位。D前主要从事大数据系统方面的研究工作,已在GJQW会议如VLDB、ICDCS、IPDPS、ISSRE、ICAC等发表论文10余篇,主持多项国家自然科学基金,以及华为、京东、联想等企业的合作研发项目。曾为Apache Spark和Hadoop修复多个内核代码严重错误,编写的SparkInternals技术文档被社区广泛关注,获得四千多颗星。博士期间曾在微软亚洲研究院、阿里巴巴、腾讯担任客座研究学生。目前还担任中国计算机学会系统软件专委会WY、中国科学院青年创新促进会会员。方亚芬现任中国科学院软件研究所工程师,于南开大学获得学士学位、中科院软件所获得硕士学位。D前主要从事大数据系统、操作系统方面的研发工作,参与多项国家自然科学基金、国家重点研发计划,以及华为、腾讯、中国邮政等企业的合作研发项目。曾在阿里巴巴等担任客座研究学生,目前是华为openEuler社区树莓派项目负责人。
关联推荐
本书将帮助大数据系统的用户、开发者、研究人员等从理论层和实现层深入理解大数据处理框架,也帮助其对大数据处理框架进一步优化改进。
目录
目 录
D 1 章 大数据处理框架概览 2
11 大数据及其带来的挑战 2
12 大数据处理框架 3
13 大数据应用及编程模型 4
14 大数据处理框架的四层结构 5
141 用户层 7
142 分布式数据并行处理层 11
143 资源管理与任务调度层 13
144 物理执行层 15
15 错误容忍机制 17
16 其他大数据处理框架 18
17 本章小结 18
18 扩展阅读 18
D 2 章 Spark 系统部署与应用运行的基本流程 20
21 Spark 安装部署 20
22 Spark 系统架构 21
23 Spark 应用例子 24
231 用户代码基本逻辑 24
232 逻辑处理流程 28
233 物理执行计划 32
234 可视化执行过程 34
24 Spark 编程模型 38
25 本章小结 39
D 3 章 Spark 逻辑处理流程 41
31 Spark 逻辑处理流程概览 41
32 Spark 逻辑处理流程生成方法 43
321 根据应用程序如何产生 RDD,产生什么样的 RDD 44
322 如何建立 RDD 之间的数据依赖 关系 44
323 如何计算 RDD 中的数据 49
33 常用 transformation() 数据操作 50
34 常用 action() 数据操作 86
35 对比 MapReduce,Spark 的优缺点98
36 本章小结 99
37 扩展阅读 100
D 4 章 Spark 物理执行计划 101
41 Spark 物理执行计划概览 101
42 Spark 物理执行计划生成方法 105
43 常用数据操作生成的物理执行计划113
44 本章小结 121
45 扩展阅读 121
D 5 章 迭代型 Spark 应用 123
51 迭代型 Spark 应用的分类及特点123
52 迭代型机器学习应用 SparkLR 124
521 应用描述 124
522 算法原理 125
523 基于 Spark 的并行化实现 129
524 深入讨论 131
53 迭代型机器学习应用——广义 线性模型132
531 算法原理 132
532 基于 Spark 的并行化实现 136
533 深入讨论 139
54 迭代型图计算应用——PageRank 140
541 应用描述 140
542 基于 Spark 的并行化实现 143
543 深入讨论 149
55 本章小结 151
D 6 章 Shuffle 机制 153
61 Shuffle 的意义及设计挑战 153
62 Shuffle 的设计思想 155
621 解决数据分区和数据聚合问题 156
622 解决 map() 端 combine问题 158
623 解决 sort 问题 158
624 解决内存不足问题 159
63 Spark 中 Shuffle 框架的设计 160
631 Shuffle Write 框架设计和实现 161
632 Shuffle Read 框架设计和实现 166
64 支持高效聚合和排序的数据 结构170
641 AppendOnlyMap 的原理 171
642 ExternalAppendOnlyMap 173
643 PartitionedAppendOnlyMap 176
644 PartitionedPairBuffer 176
65 与 Hadoop MapReduce 的 Shuffle 机制对比177
66 本章小结 179
D 7 章 数据缓存机制 180
71 数据缓存的意义 180
72 数据缓存机制的设计原理 181
721 决定哪些数据需要被缓存 181
722 包含数据缓存操作的逻辑处理流程和物理执行计划 184
723 缓存级别 186
724 缓存数据的写入方法 189
725 缓存数据的读取方法 191
726 用户接口的设计 192
727 缓存数据的替换与回收方法 193
73 与 Hadoop MapReduce 的缓存机制进行对比197
74 本章小结 198
D 8 章 错误容忍机制 199
81 错误容忍机制的意义及挑战 199
82 错误容忍机制的设计思想 201
83 重新计算机制 201
831 重新计算是否能够得到与之前一样的结果 202
832 从哪里开始重新计算 204
833 重新计算机制小结 207
84 checkpoint 机制的设计与实现 207
841 哪些数据需要使用 checkpoint机制 207
842 checkpoint 数据的写入及接口 210
843 checkpoint 时机及计算顺序 212
844 checkpoint 数据的读取 213
845 checkpoint 数据写入和读取的实现细节 213
846 checkpoint 语句位置的影响 216
847 cache + checkpoint 220
85 checkpoint 与数据缓存的区别 225
86 本章小结 226
D 9 章 内存管理机制 227
91 内存管理机制问题及挑战 227
92 应用内存消耗来源及影响因素 228
921 内存消耗来源 1:用户代码 229
922 内存消耗来源 2:Shuffle 机制中产生的中间数据 230
923 内存消耗来源 3:缓存数据 231
93 Spark 框架内存管理模型 232
931 静态内存管理模型 233
932 统一内存管理模型 234
94 Spark 框架执行内存消耗与管理237
941 Shuffle Write 阶段内存消耗及管理 239
942 Shuffle Read 阶段内存消耗及管理 245
95 数据缓存空间管理 249
951 RDD 缓存数据 250
952 广播数据 253
953 task 的计算结果 254
96 本章小结 256
参考文献 258