作品简介
近年来,以Apache Spark为代表的大数据处理框架在学术界和工业界得到了广泛的使用。本书以Apache Spark框架为核心,总结了大数据处理框架的基础知识、核心理论、典型的Spark应用,以及相关的性能和可靠性问题。本书分9章,主要包含四部分内容。第一部分大数据处理框架的基础知识(第1~2章):介绍大数据处理框架的基本概念、系统架构、编程模型、相关的研究工作,并以一个典型的Spark应用为例概述Spark应用的执行流程。第二部分Spark大数据处理框架的核心理论(第3~4章):介绍Spark框架将应用程序转化为逻辑处理流程,进而转化为可并行执行的物理执行计划的一般过程及方法。第三部分典型的Spark应用(第5章):介绍迭代型的Spark机器学习应用和图计算应用。第四部分大数据处理框架性能和可靠性保障机制(第6~9章):介绍Spark框架的Shuffle机制、数据缓存机制、错误容忍机制、内存管理机制等。
许利杰
现任中国科学院软件研究所副研究员、硕士生导师,于中科院软件所获得博士学位。当前主要从事大数据系统方面的研究工作,已在国际权威会议如VLDB、ICDCS、IPDPS、ISSRE、ICAC等发表论文10余篇,主持多项国家自然科学基金,以及华为、京东、联想等企业的合作研发项目。
曾为Apache Spark和Hadoop修复多个内核代码严重错误,编写的SparkInternals技术文档被社区广泛关注,获得四千多颗星。
博士期间曾在微软亚洲研究院、阿里巴巴、腾讯担任客座研究学生。目前还担任中国计算机学会系统软件专委会委员、中国科学院青年创新促进会会员。
方亚芬
现任中国科学院软件研究所工程师,于南开大学获得学士学位、中科院软件所获得硕士学位。
当前主要从事大数据系统、操作系统方面的研发工作,参与多项国家自然科学基金、国家重点研发计划,以及华为、腾讯、中国邮政等企业的合作研发项目。
曾在阿里巴巴等担任客座研究学生,目前是华为openEuler社区树莓派项目负责人。
作品目录
作者简介
内容简介
前言
读者服务
第一部分 大数据处理框架的基础知识
第1章 大数据处理框架概览
1.1 大数据及其带来的挑战
1.2 大数据处理框架
1.3 大数据应用及编程模型
1.4 大数据处理框架的四层结构
1.5 错误容忍机制
1.6 其他大数据处理框架
1.7 本章小结
1.8 扩展阅读
第2章 Spark系统部署与应用运行的基本流程
2.1 Spark安装部署
2.2 Spark系统架构
2.3 Spark应用例子
2.4 Spark编程模型
2.5 本章小结
第二部分 Spark大数据处理框架的核心理论
第3章 Spark逻辑处理流程
3.1 Spark逻辑处理流程概览
3.2 Spark逻辑处理流程生成方法
3.3 常用transformation()数据操作
3.4 常用action()数据操作
3.5 对比MapReduce,Spark的优缺点
3.6 本章小结
3.7 扩展阅读
第4章 Spark物理执行计划
4.1 Spark物理执行计划概览
4.2 Spark物理执行计划生成方法
4.3 常用数据操作生成的物理执行计划
4.4 本章小结
4.5 扩展阅读
第三部分 典型的Spark应用
第5章 迭代型Spark应用
5.1 迭代型Spark应用的分类及特点
5.2 迭代型机器学习应用SparkLR
5.3 迭代型机器学习应用——广义线性模型
5.4 迭代型图计算应用——PageRank
5.5 本章小结
第四部分 大数据处理框架性能和可靠性保障机制
第6章 Shuffle机制
6.1 Shuffle的意义及设计挑战
6.2 Shuffle的设计思想
6.3 Spark中Shuffle框架的设计
6.4 支持高效聚合和排序的数据结构
6.5 与Hadoop MapReduce的Shuffle机制对比
6.6 本章小结
第7章 数据缓存机制
7.1 数据缓存的意义
7.2 数据缓存机制的设计原理
7.3 与Hadoop MapReduce的缓存机制进行对比
7.4 本章小结
第8章 错误容忍机制
8.1 错误容忍机制的意义及挑战
8.2 错误容忍机制的设计思想
8.3 重新计算机制
8.4 checkpoint机制的设计与实现
8.5 checkpoint与数据缓存的区别
8.6 本章小结
第9章 内存管理机制
9.1 内存管理机制问题及挑战
9.2 应用内存消耗来源及影响因素
9.3 Spark框架内存管理模型
9.4 Spark框架执行内存消耗与管理
9.5 数据缓存空间管理
9.6 本章小结
参考文献
大数据处理基石参考书