作品简介

近年来,以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 本章小结
  • 参考文献
  • 大数据处理基石参考书
展开全部