登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書

『簡體書』Spark性能调优与原理分析

書城自編碼: 3553026
分類:簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 吕云翔,郭宇光
國際書號(ISBN): 9787302555094
出版社: 清华大学出版社
出版日期: 2020-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 92.3

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
生活不是掷骰子:理性决策的贝叶斯思维
《 生活不是掷骰子:理性决策的贝叶斯思维 》

售價:HK$ 82.8
动态商业战略
《 动态商业战略 》

售價:HK$ 82.8
万有引力书系·基辅罗斯:东斯拉夫文明的起源
《 万有引力书系·基辅罗斯:东斯拉夫文明的起源 》

售價:HK$ 141.6
康熙的红票:全球化中的清朝
《 康熙的红票:全球化中的清朝 》

售價:HK$ 93.6
PyTorch语音识别实战
《 PyTorch语音识别实战 》

售價:HK$ 82.8
多卖三倍
《 多卖三倍 》

售價:HK$ 54.0
哲学思维:清晰思考的12条关键原则
《 哲学思维:清晰思考的12条关键原则 》

售價:HK$ 82.8
海盗之书
《 海盗之书 》

售價:HK$ 81.6

 

編輯推薦:
本书以Spark内部实现原理为指导,使用了大量图表来描述Spark各个环节的运行过程,对其运行过程中的每个组件进行详细剖析。以理论指导各种参数的调节,以结果证明理论的正确性。本书各个章节的理论分析能够使读者更加快速的定位程序运行的瓶颈,解决实际生产中的问题。本书配有教学课件、教学大纲等丰富的配套资源。本书具有目标针对性强、内容与时俱进、理论结合实践等特点。本书既可以作为Spark开发者学习指导、深入理解Spark内核、调优实践的参考,也可以作为高等院校计算机与软件相关专业的教材。
內容簡介:
本书主要介绍了Spark运行原理及性能调优的相关实践, 从Spark框架内部及外部运行环境等不同角度分析Spark性能调优的过程。 第1章介绍了Linux系统中各种监控工具的使用,对CPU、内存、网络、IO等方面进行介绍, 并提供了集群监控报警的解决方案。 第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外部运行环境
参考文献
內容試閱
在这个互联网数据爆发的时代,在大数据的浪潮中,各种分布式计算框架、资源调度框架层出不穷。计算速度慢的终究会落地,曾经辉煌的MapReduce也成为历史。先进的内存迭代式计算框架Spark成为大数据计算的主导。
然而有优秀的计算框架,并不一定就能写出高效的处理程序,就如同一辆兰博基尼行驶在颠簸的乡间小路上一般,纵使有
很大的马力,也没有发挥的余地。所以在企业级开发中,Spark性能的优化才能将Spark的性能发挥得淋漓尽致。
一辆车能跑多快不仅仅取决于引擎的动力,车轮、避震、跑道等因素也会对其造成影响。一个Spark程序能够运行多快,同样不单单由Spark本身决定,用户
编写的程序、CPU、内存、磁盘、网络等因素都会对
程序的运行产生影响。正因为如此,一个程序真正的调优并不简单,对
程序的性能瓶颈的定位更加困难。市面上虽有很多介绍Spark的书籍,但大部分对性能调优部分只是一笔带过,
只说明要调节哪些参数,对于为什么需要调节、原理如何、调节后的效果如何
等介绍得甚少,于是便有了本书。
本书以Spark内部实现原理为指导,对其运行过程中的每个组件都进行了详细剖析,以理论指导各种参数的调节,以结果证明理论的正确性。如果从宏观上来看本书,各个章节的理论分析能够使读者更加快速地定位程序运行的瓶颈,解决实际生产中的问题。本书具有以下优点。
1 目标针对性强。
本书针对大数据技术开发者,适合想要使用Spark但对Spark原理不太了解的读者。同时,本书更适合对性能优化有需求的大数据开发工程师。本书不太适合没有Linux基础或Spark开发基础的读者。
2 内容与时俱进。
作为分布式计算框架的领军者,Spark的发展可谓相当迅速,截至本书写作之时,Spark最新的版本为Spark 2.4.0,本书所有功能均针对Spark 2.4.0功能进行介绍。在内核源码分析部分使用Spark 2.2.0源码为基础进行剖析。
3 理论结合实践。
本书以Spark内核运行原理为指导,使用了大量图表来描述Spark各个环节的运行过程。以理论指导每个调优参数背后影响的过程,让读者不仅知其然,而且知其所以然。同时,本书提供了大量操作示例并提供示例的运行结果,让枯燥的理论不再乏味。读者可以跟随书中的内容同步进行操作。本书每个示例中提供的代码均提供源码下载,读者可扫描下方二维码下载。
源代码
4 真实的生产实践。
本书所有调优均来自真实的生产实践,并将主要问题简化后通过实验方式表达出来。大部分实验围绕Spark的优化进行,有一些实验围绕系统的优化来进行,如内存、网络等方面。这也表明在真实的生产环境中,对Spark程序的调优只是优化的一部分,还有其他方面的优化。
本书的作者为吕云翔、郭宇光,曾洪立也参与了部分内容的编写和辅助教材的制作工作。
由于实验环境条件有限,性能影响因素众多,同时限于作者水平,书中难免有疏漏之处,恳请广大读者批评指正。
作者2020年9月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.