Spark性能调优与原理分析

Spark性能调优与原理分析
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 编著
2020-07
版次: 1
ISBN: 9787302555094
定价: 69.90
装帧: 平装
开本: 其他
纸张: 胶版纸
2人买过
  • 本书主要介绍了Spark运行原理及性能调优的相关实践, 
    从Spark框架内部及外部运行环境等不同角度分析Spark性能调优的过程。 
    第1章介绍了Linux系统中各种监控工具的使用,对CPU、内存、网络、I/O等方面进行介绍, 
    并提供了集群监控报警的解决方案。 
    第2章介绍了Java虚拟机(JVM)的基本知识、垃圾回收机制,以及对JVM运行状态的监控。 
    第3章和第4章介绍了Spark内核架构、任务运行的流程,对各个组件的实现进行了深入的剖析。尤其在Spark 
    内存管理、存储原理、Shuffle阶段,详细介绍了每个实现的细节,这些实现的细节为后期Spark性能调优提供了参数调节的理论依据。 
    第5章介绍了Spark性能调优的详细实践过程,首先介绍了SparkUI和Spark日志的使用,通过这两项可以迅速定位瓶颈问题;  
    然后根据定位的问题,分别从程序调优、资源调优、Shuffle过程调优等不同角度介绍了调优的实践过程。 
    本书在理论部分提供了大量的概念原理图、运行流程图,在实践部分提供了大量的示例。让读者对性能的调节不 
    仅停留在参数调节的层面,而且能理解每个参数的修改对程序的内部运行产生 
    的影响。 
    本书既可以作为Spark开发者的参考用书,也可以作为高等院校计算机与软件相关专业的教材。 

    1986-1992: 北方交通大学讲师; 1992-1994: 比利时VUB大学应用信息技术硕士; 1994-1996: 比利时VUB大学MBA;  1996-2003: IT公司项目经理  2003-至今: 北航软件学院副教授。已出版二十几本教材(其中“计算机导论实践教程”一书获北航2010年教学成果三等奖;“大学计算机英语教程”获北航2012年教学成果二等奖。 主讲课程: 计算机导论、软件工程、职业生涯规划等。 第1章常用工具简介

    1.1Linux中的性能监控命令

    1.1.1程序准备

    1.1.2top命令

    1.1.3htop命令

    1.1.4vmstat命令

    1.1.5iostat命令

    1.1.6iftop命令

    1.2Prometheus

    1.2.1Prometheus简介

    1.2.2Prometheus的组成

    1.2.3Prometheus的安装及配置

    1.2.4监测服务器

    1.3Grafana

    1.3.1Grafana简介

    1.3.2Grafana的安装

    1.3.3Grafana服务器监控

    1.4Alluxio的使用

    1.4.1Alluxio简介

    1.4.2Alluxio的安装

    1.4.3Alluxio与Spark集成

    1.5本章小结

    第2章Java虚拟机简介

    2.1Java虚拟机基本结构

    2.1.1PC寄存器

    2.1.2Java堆

    2.1.3Java虚拟机栈

    2.1.4方法区

    2.1.5本地方法栈

    2.2Java常用选项

    2.2.1Java选项分类

    2.2.2标准选项

    2.2.3非标准选项

    2.2.4高级运行时选项

    2.2.5高级垃圾回收选项

    2.3垃圾回收机制

    2.3.1什么是垃圾对象

    2.3.2垃圾回收算法

    2.3.3垃圾收集器

    2.4JDK自带命令行工具

    2.4.1jps命令

    2.4.2jstat命令

    2.4.3jinfo命令

    2.4.4jmap命令

    2.4.5jhat命令

    2.4.6jstack命令

    2.4.7jcmd 命令

    2.4.8jstatd命令

    2.5JVM监控工具

    2.5.1JConsole

    2.5.2Visual VM

    2.5.3Prometheus监控JVM

    第3章Spark内核架构

    3.1Spark编程模型

    3.1.1RDD概述

    3.1.2RDD的基本属性

    3.1.3RDD的缓存

    3.1.4RDD容错机制

    3.1.5Spark RDD操作

    3.1.6源码分析

    3.2Spark组件简介

    3.2.1术语介绍

    3.2.2Spark RPC原理

    3.2.3Driver简介

    3.2.4Executor简介

    3.2.5Spark运行模式

    3.2.6存储简介

    3.2.7源码分析

    3.3Spark作业执行原理

    3.3.1整体流程

    3.3.2Job提交

    3.3.3Stage划分

    3.3.4Task划分

    3.3.5Task提交

    3.3.6Task执行

    3.3.7Task结果处理

    3.3.8源码分析

    3.4Spark内存管理

    3.4.1内存使用概述

    3.4.2内存池的划分

    3.4.3内存管理

    3.4.4源码分析

    3.5Spark存储原理

    3.5.1存储模块架构

    3.5.2磁盘存储实现

    3.5.3内存存储实现

    3.5.4块管理器

    3.5.5源码分析

    第4章Shuffle详解

    4.1为什么需要Shuffle

    4.1.1Shuffle的由来

    4.1.2Shuffle实现的目标

    4.2Spark执行Shuffle的流程

    4.2.1总体流程

    4.2.2ShuffleRDD的生成

    4.2.3Stage的划分

    4.2.4Task的划分

    4.2.5Map端写入

    4.2.6Reduce端读取

    4.3Shuffle内存管理

    4.3.1任务内存管理器

    4.3.2内存消费者

    4.3.3内存消费组件

    4.3.4Tungsten内存管理

    4.3.5Tungsten内存消费组件

    4.4ShuffleWrite

    4.4.1HashShuffleManager

    4.4.2HashShuffleWriter

    4.4.3SortShuffleManager

    4.4.4BypassMergeSortShuffleWriter

    4.4.5SortShuffleWriter

    4.4.6UnsafeShuffleWriter

    4.5ShuffleRead

    4.5.1获取ShuffleReader

    4.5.2拉取Map端数据

    4.5.3数据聚合

    4.5.4key排序

    第5章Spark性能调优

    5.1Spark任务监控

    5.1.1SparkUI使用

    5.1.2Spark运行日志详解

    5.2Spark程序调优

    5.2.1提高并行度

    5.2.2避免创建重复的RDD

    5.2.3RDD持久化

    5.2.4广播大变量

    5.2.5使用高性能序列化类库

    5.2.6优化资源操作连接

    5.3Spark资源调优

    5.3.1CPU分配

    5.3.2内存分配

    5.3.3提高磁盘性能

    5.3.4Executor数量的权衡

    5.3.5Spark管理内存比例

    5.3.6使用Alluxio加速数据访问

    5.4Shuffle过程调优

    5.4.1Map端聚合

    5.4.2文件读写缓冲区

    5.4.3Reduce端并行拉取数量

    5.4.4溢写文件上限

    5.4.5数据倾斜调节

    5.5外部运行环境

    参考文献

  • 内容简介:
    本书主要介绍了Spark运行原理及性能调优的相关实践, 
    从Spark框架内部及外部运行环境等不同角度分析Spark性能调优的过程。 
    第1章介绍了Linux系统中各种监控工具的使用,对CPU、内存、网络、I/O等方面进行介绍, 
    并提供了集群监控报警的解决方案。 
    第2章介绍了Java虚拟机(JVM)的基本知识、垃圾回收机制,以及对JVM运行状态的监控。 
    第3章和第4章介绍了Spark内核架构、任务运行的流程,对各个组件的实现进行了深入的剖析。尤其在Spark 
    内存管理、存储原理、Shuffle阶段,详细介绍了每个实现的细节,这些实现的细节为后期Spark性能调优提供了参数调节的理论依据。 
    第5章介绍了Spark性能调优的详细实践过程,首先介绍了SparkUI和Spark日志的使用,通过这两项可以迅速定位瓶颈问题;  
    然后根据定位的问题,分别从程序调优、资源调优、Shuffle过程调优等不同角度介绍了调优的实践过程。 
    本书在理论部分提供了大量的概念原理图、运行流程图,在实践部分提供了大量的示例。让读者对性能的调节不 
    仅停留在参数调节的层面,而且能理解每个参数的修改对程序的内部运行产生 
    的影响。 
    本书既可以作为Spark开发者的参考用书,也可以作为高等院校计算机与软件相关专业的教材。 

  • 作者简介:
    1986-1992: 北方交通大学讲师; 1992-1994: 比利时VUB大学应用信息技术硕士; 1994-1996: 比利时VUB大学MBA;  1996-2003: IT公司项目经理  2003-至今: 北航软件学院副教授。已出版二十几本教材(其中“计算机导论实践教程”一书获北航2010年教学成果三等奖;“大学计算机英语教程”获北航2012年教学成果二等奖。 主讲课程: 计算机导论、软件工程、职业生涯规划等。
  • 目录:
    第1章常用工具简介

    1.1Linux中的性能监控命令

    1.1.1程序准备

    1.1.2top命令

    1.1.3htop命令

    1.1.4vmstat命令

    1.1.5iostat命令

    1.1.6iftop命令

    1.2Prometheus

    1.2.1Prometheus简介

    1.2.2Prometheus的组成

    1.2.3Prometheus的安装及配置

    1.2.4监测服务器

    1.3Grafana

    1.3.1Grafana简介

    1.3.2Grafana的安装

    1.3.3Grafana服务器监控

    1.4Alluxio的使用

    1.4.1Alluxio简介

    1.4.2Alluxio的安装

    1.4.3Alluxio与Spark集成

    1.5本章小结

    第2章Java虚拟机简介

    2.1Java虚拟机基本结构

    2.1.1PC寄存器

    2.1.2Java堆

    2.1.3Java虚拟机栈

    2.1.4方法区

    2.1.5本地方法栈

    2.2Java常用选项

    2.2.1Java选项分类

    2.2.2标准选项

    2.2.3非标准选项

    2.2.4高级运行时选项

    2.2.5高级垃圾回收选项

    2.3垃圾回收机制

    2.3.1什么是垃圾对象

    2.3.2垃圾回收算法

    2.3.3垃圾收集器

    2.4JDK自带命令行工具

    2.4.1jps命令

    2.4.2jstat命令

    2.4.3jinfo命令

    2.4.4jmap命令

    2.4.5jhat命令

    2.4.6jstack命令

    2.4.7jcmd 命令

    2.4.8jstatd命令

    2.5JVM监控工具

    2.5.1JConsole

    2.5.2Visual VM

    2.5.3Prometheus监控JVM

    第3章Spark内核架构

    3.1Spark编程模型

    3.1.1RDD概述

    3.1.2RDD的基本属性

    3.1.3RDD的缓存

    3.1.4RDD容错机制

    3.1.5Spark RDD操作

    3.1.6源码分析

    3.2Spark组件简介

    3.2.1术语介绍

    3.2.2Spark RPC原理

    3.2.3Driver简介

    3.2.4Executor简介

    3.2.5Spark运行模式

    3.2.6存储简介

    3.2.7源码分析

    3.3Spark作业执行原理

    3.3.1整体流程

    3.3.2Job提交

    3.3.3Stage划分

    3.3.4Task划分

    3.3.5Task提交

    3.3.6Task执行

    3.3.7Task结果处理

    3.3.8源码分析

    3.4Spark内存管理

    3.4.1内存使用概述

    3.4.2内存池的划分

    3.4.3内存管理

    3.4.4源码分析

    3.5Spark存储原理

    3.5.1存储模块架构

    3.5.2磁盘存储实现

    3.5.3内存存储实现

    3.5.4块管理器

    3.5.5源码分析

    第4章Shuffle详解

    4.1为什么需要Shuffle

    4.1.1Shuffle的由来

    4.1.2Shuffle实现的目标

    4.2Spark执行Shuffle的流程

    4.2.1总体流程

    4.2.2ShuffleRDD的生成

    4.2.3Stage的划分

    4.2.4Task的划分

    4.2.5Map端写入

    4.2.6Reduce端读取

    4.3Shuffle内存管理

    4.3.1任务内存管理器

    4.3.2内存消费者

    4.3.3内存消费组件

    4.3.4Tungsten内存管理

    4.3.5Tungsten内存消费组件

    4.4ShuffleWrite

    4.4.1HashShuffleManager

    4.4.2HashShuffleWriter

    4.4.3SortShuffleManager

    4.4.4BypassMergeSortShuffleWriter

    4.4.5SortShuffleWriter

    4.4.6UnsafeShuffleWriter

    4.5ShuffleRead

    4.5.1获取ShuffleReader

    4.5.2拉取Map端数据

    4.5.3数据聚合

    4.5.4key排序

    第5章Spark性能调优

    5.1Spark任务监控

    5.1.1SparkUI使用

    5.1.2Spark运行日志详解

    5.2Spark程序调优

    5.2.1提高并行度

    5.2.2避免创建重复的RDD

    5.2.3RDD持久化

    5.2.4广播大变量

    5.2.5使用高性能序列化类库

    5.2.6优化资源操作连接

    5.3Spark资源调优

    5.3.1CPU分配

    5.3.2内存分配

    5.3.3提高磁盘性能

    5.3.4Executor数量的权衡

    5.3.5Spark管理内存比例

    5.3.6使用Alluxio加速数据访问

    5.4Shuffle过程调优

    5.4.1Map端聚合

    5.4.2文件读写缓冲区

    5.4.3Reduce端并行拉取数量

    5.4.4溢写文件上限

    5.4.5数据倾斜调节

    5.5外部运行环境

    参考文献

查看详情
12
相关图书 / 更多
Spark性能调优与原理分析
Spring Framework6开发实战 Spring+Spring Web MVC+MyBatis
肖海鹏、耿卫江、王荣芝、张天怡、张志慧
Spark性能调优与原理分析
Spark大数据分析
作者
Spark性能调优与原理分析
Spark入门与大数据分析实战
迟殿委 李超
Spark性能调优与原理分析
Spark大数据开发(职业教育计算机系列教材)
唐春玲;周桥;陈小龙
Spark性能调优与原理分析
Spring Boot+Vue前后端分离项目全栈开发实战
唐文
Spark性能调优与原理分析
Spring快速入门到精通
明日科技 编著
Spark性能调优与原理分析
Spring Boot 3.0开发实战
李西明;陈立为
Spark性能调优与原理分析
Spark分布式处理实战
刘均 王璐烽
Spark性能调优与原理分析
Spring Security原理与实战:构建安全可靠的微服务
邹炎
Spark性能调优与原理分析
Spark原理深入与编程实战(微课视频版)
辛立伟;张帆;张会娟
Spark性能调优与原理分析
Spring Boot 3 +Vue 3开发实战
朱建昕
Spark性能调优与原理分析
Spring Cloud Alibaba核心技术与实战案例
高洪岩
您可能感兴趣 / 更多
Spark性能调优与原理分析
计算机导论(第3版·题库·微课视频版)
吕云翔 李沛伦
Spark性能调优与原理分析
云计算与大数据技术(第2版·微课视频·题库版)
吕云翔 钟巧灵 柏燕峥 许鸿智 张璐 王佳玮 韩雪婷 仇善召 杜宸洋
Spark性能调优与原理分析
数据结构(Python版)(第2版·微课视频版)
吕云翔;郭颖美;孟爻;吴宜航;杨壮
Spark性能调优与原理分析
Python网络爬虫:从入门到精通(附微课)
吕云翔
Spark性能调优与原理分析
数据结构(Java版)(第2版·微课视频版)
吕云翔 郭颖美 王子豪
Spark性能调优与原理分析
Python爬虫案例实战(微课视频版)
吕云翔 韩延刚 张扬 主编;谢吉力 杨壮 王渌汀 王志鹏 杨瑞翌 副主编
Spark性能调优与原理分析
Python数据分析与可视化案例实战(项目实战·源码解读·微课视频版)
吕云翔;王志鹏;许丽华;王肇一;朱英豪;闫坤;仇善召;唐佳伟;冯凯文;陈唯;陈天异;洪振东;杨云飞;谢谨蔓;姚泽良;韩延刚;吴宜航
Spark性能调优与原理分析
Python网络爬虫技术与实践
吕云翔 张扬 杨壮 编著
Spark性能调优与原理分析
大数据可视化技术(微课视频+题库版)
吕云翔 姚泽良 主编;谢吉力 朱英豪 仇善召 韩延刚 黄泽桓 副主编
Spark性能调优与原理分析
云计算导论(第3版·题库·微课视频版)
吕云翔 柏燕峥 许鸿智 杜宸洋 张璐 王佳玮
Spark性能调优与原理分析
软件工程项目化教程(微课视频版)
吕云翔;黎可为;张中基
Spark性能调优与原理分析
大数据可视化技术与应用
吕云翔 姚泽良 谢吉力 编著