图书介绍

Spark大数据商业实战三部曲 内核解密、商业案例、性能调优PDF|Epub|txt|kindle电子书版本网盘下载

Spark大数据商业实战三部曲 内核解密、商业案例、性能调优
  • 王家林,段智华,夏阳编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302489627
  • 出版时间:2018
  • 标注页数:1143页
  • 文件大小:1MB
  • 文件页数:1147页
  • 主题词:数据处理

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Spark大数据商业实战三部曲 内核解密、商业案例、性能调优PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

上篇 内核解密2

第1章 电光石火间体验Spark 2.2开发实战2

1.1通过RDD实战电影点评系统入门及源码阅读2

1.1.1 Spark核心概念图解2

1.1.2通过RDD实战电影点评系统案例4

1.2通过DataFrame和DataSet实战电影点评系统7

1.2.1通过DataFrame实战电影点评系统案例7

1.2.2通过DataSet实战电影点评系统案例10

1.3 Spark 2.2源码阅读环境搭建及源码阅读体验11

第2章Spark 2.2技术及原理14

2.1Spark 2.2综述14

2.1.1连续应用程序14

2.1.2新的API15

2.2 Spark 2.2 Core16

2.2.1第二代Tungsten引擎16

2.2.2 SparkSession16

2.2.3累加器API17

2.3 Spark 2.2 SQL19

2.3.1 Spark SQL20

2.3.2 DataFrame和Dataset API20

2.3.3 Timed Window21

2.4 Spark 2.2 Streaming21

2.4.1 Structured Streaming21

2.4.2增量输出模式23

2.5 Spark 2.2 MLlib27

2.5.1基于DataFrame的Machine Learning API28

2.5.2 R的分布式算法28

2.6 Spark 2.2 GraphX29

第3章Spark的灵魂:RDD和DataSet30

3.1为什么说RDD和DataSet是 Spark的灵魂30

3.1.1 RDD的定义及五大特性剖析30

3.1.2 DataSet的定义及内部机制剖析34

3.2 RDD弹性特性七个方面解析36

3.3 RDD依赖关系43

3.3.1窄依赖解析43

3.3.2宽依赖解析45

3.4解析Spark中的DAG逻辑视图46

3.4.1 DAG生成的机制46

3.4.2 DAG逻辑视图解析47

3.5 RDD内部的计算机制49

3.5.1Task解析49

3.5.2计算过程深度解析49

3.6 Spark RDD容错原理及其四大核心要点解析57

3.6.1 Spark RDD容错原理57

3.6.2 RDD容错的四大核心要点57

3.7 Spark RDD中Runtime流程解析59

3.7.1 Runtime架构图59

3.7.2生命周期60

3.8通过WordCount实战解析Spark RDD内部机制70

3.8.1 Spark WordCount动手实践70

3.8.2解析RDD生成的内部机制72

3.9基于DataSet的代码到底是如何一步步转化成为RDD的78

第4章Spark Driver启动内幕剖析81

4.1 Spark Driver Program剖析81

4.1.1 Spark Driver Program81

4.1.2 SparkContext深度剖析81

4.1.3 SparkContext源码解析82

4.2 DAGScheduler解析96

4.2.1 DAG的定义96

4.2.2 DAG的实例化97

4.2.3 DAGScheduler划分Stage的原理98

4.2.4 DAGScheduler划分Stage的具体算法99

4.2.5 Stage内部Task获取最佳位置的算法113

4.3 TaskScheduler解析116

4.3.1 TaskScheduler原理剖析116

4.3.2 TaskScheduler源码解析117

4.4 SchedulerBackend解析132

4.4.1 SchedulerBackend原理剖析132

4.4.2 SchedulerBackend源码解析132

4.4.3 Spark程序的注册机制133

4.4.4 Spark程序对计算资源Executor的管理134

4.5打通Spark系统运行内幕机制循环流程135

4.6本章总结145

第5章Spark集群启动原理和源码详解146

5.1 Master启动原理和源码详解146

5.1.1 Master启动的原理详解146

5.1.2 Master启动的源码详解147

5.1.3 MasterHA双机切换157

5.1.4 Master的注册机制和状态管理解密163

5.2 Worker启动原理和源码详解170

5.2.1 Worker启动的原理流程170

5.2.2 Worker启动的源码详解174

5.3 ExecutorBackend启动原理和源码详解178

5.3.1 ExecutorBackend接口与Executor的关系178

5.3.2 ExecutorBackend的不同实现179

5.3.3 ExecutorBackend中的通信181

5.3.4 ExecutorBackend的异常处理183

5.4 Executor中任务的执行184

5.4.1 Executor中任务的加载184

5.4.2 Executor中的任务线程池185

5.4.3任务执行失败处理186

5.4.4揭秘TaskRunner188

5.5 Executor执行结果的处理方式189

5.6本章总结197

第6章Spark Application提交给集群的原理和源码详解198

6.1 Spark Application到底是如何提交给集群的198

6.1.1 Application提交参数配置详解198

6.1.2 Application提交给集群原理详解199

6.1.3 Application提交给集群源码详解201

6.2 Spark Application是如何向集群申请资源的211

6.2.1 Application申请资源的两种类型详解211

6.2.2 Application申请资源的源码详解213

6.3从Application提交的角度重新审视Driver219

6.3.1 Driver到底是什么时候产生的220

6.3.2 Driver和Master交互原理解析238

6.3.3 Driver和Master交互源码详解244

6.4从Application提交的角度重新审视Executor249

6.4.1 Executor到底是什么时候启动的249

6.4.2 Executor如何把结果交给Application254

6.5 Spark 1.6 RPC内幕解密:运行机制、源码详解、Netty与Akka等254

6.6本章总结267

第7章Shuffle原理和源码详解268

7.1概述268

7.2 Shuffle的框架269

7.2.1 Shuffle的框架演进269

7.2.2 Shuffle的框架内核270

7.2.3 Shuffle框架的源码解析272

7.2.4 Shuffle数据读写的源码解析275

7.3 Hash Based Shuffle281

7.3.1概述281

7.3.2 Hash Based Shuffle内核282

7.3.3 Hash Based Shuffle数据读写的源码解析285

7.4 Sorted Based Shuffle290

7.4.1概述292

7.4.2 Sorted Based Shuffle内核293

7.4.3 Sorted Based Shuffle数据读写的源码解析294

7.5 Tungsten Sorted Based Shuffle302

7.5.1概述302

7.5.2 Tungsten Sorted Based Shuffle内核302

7.5.3 Tungsten Sorted Based Shuffle数据读写的源码解析303

7.6 Shuffle与Storage模块间的交互309

7.6.1 Shuffle注册的交互310

7.6.2 Shuffle写数据的交互314

7.6.3 Shuffle读数据的交互315

7.6.4 BlockManager架构原理、运行流程图和源码解密315

7.6.5 BlockManager解密进阶:BlockManager初始化和注册解密、BlockManager-Master工作解密、BlockTransferService解密、本地数据读写解密、远程数据读写解密324

7.7本章总结341

第8章Job工作原理和源码详解342

8.1 Job到底在什么时候产生342

8.1.1触发Job的原理和源码解析342

8.1.2触发Job的算子案例344

8.2 Stage划分内幕345

8.2.1 Stage划分原理详解345

8.2.2 Stage划分源码详解346

8.3 Task全生命周期详解346

8.3.1 Task的生命过程详解347

8.3.2 Task在Driver和Executor中交互的全生命周期原理和源码详解348

8.4 ShuffleMapTask和ResultTask处理结果是如何被Driver管理的364

8.4.1 ShuffleMapTask执行结果和Driver的交互原理及源码详解364

8.4.2 ResultTask执行结果与Driver的交互原理及源码详解370

第9章Spark中Cache和checkpoint原理和源码详解372

9.1 Spark中Cache原理和源码详解372

9.1.1 Spark中Cache原理详解372

9.1.2 Spark中Cache源码详解372

9.2 Spark中checkpoint原理和源码详解381

9.2.1 Spark中checkpoint原理详解381

9.2.2 Spark中checkpoint源码详解381

第10章Spark中Broadcast和Accumulator原理和源码详解391

10.1 Spark中Broadcast原理和源码详解391

10.1.1 Spark中Broadcast原理详解391

10.1.2 Spark中Broadcast源码详解393

10.2 Spark中Accumulator原理和源码详解396

10.2.1 Spark中Accumulator原理详解396

10.2.2 Spark中Accumulator源码详解396

第11章Spark与大数据其他经典组件整合原理与实战399

11.1 Spark组件综合应用399

11.2 Spark与Alluxio整合原理与实战400

11.2.1 Spark与Alluxio整合原理400

11.2.2 Spark与Alluxio整合实战401

11.3 Spark与Job Server整合原理与实战403

11.3.1 Spark与Job Server整合原理403

11.3.2 Spark与Job Server整合实战404

11.4 Spark与Redis整合原理与实战406

11.4.1 Spark与Redis整合原理406

11.4.2 Spark与Redis整合实战407

中篇 商业案例412

第12章Spark商业案例之大数据电影点评系统应用案例412

12.1通过RDD实现分析电影的用户行为信息412

12.1.1搭建IDEA开发环境412

12.1.2大数据电影点评系统中电影数据说明425

12.1.3电影点评系统用户行为分析统计实战428

12.2通过 RDD实现电影流行度分析431

12.3通过RDD分析各种类型的最喜爱电影TopN及性能优化技巧433

12.4通过RDD分析电影点评系统仿QQ和微信等用户群分析及广播背后机制解密436

12.5通过RDD分析电影点评系统实现Java和Scala版本的二次排序系统439

12.5.1二次排序自定义Key值类实现(Java)440

12.5.2电影点评系统二次排序功能实现(Java)442

12.5.3二次排序自定义Key值类实现(Scala)445

12.5.4电影点评系统二次排序功能实现(Scala)446

12.6通过Spark SQL中的SQL语句实现电影点评系统用户行为分析447

12.7通过Spark SQL下的两种不同方式实现口碑最佳电影分析451

12.8通过Spark SQL下的两种不同方式实现最流行电影分析456

12.9通过DataFrame分析最受男性和女性喜爱电影TopN457

12.10纯粹通过DataFrame分析电影点评系统仿QQ和微信、淘宝等用户群460

12.11纯粹通过DataSet对电影点评系统进行流行度和不同年龄阶段兴趣分析等462

12.11.1通过DataSet实现某特定电影观看者中男性和女性不同年龄的人数463

12.11.2通过DataSet方式计算所有电影中平均得分最高(口碑最好)的电影TopN464

12.11.3通过DataSet方式计算所有电影中粉丝或者观看人数最多(最流行电影)的电影TopN465

12.11.4纯粹通过DataSet的方式实现所有电影中最受男性、女性喜爱的电影Top 10466

12.11.5纯粹通过DataSet的方式实现所有电影中QQ或者微信核心目标用户最喜爱电影TopN分析467

12.11.6 纯粹通过DataSet的方式实现所有电影中淘宝核心目标用户最喜爱电影TopN分析469

12.12大数据电影点评系统应用案例涉及的核心知识点原理、源码及案例代码470

12.12.1知识点:广播变量Broadcast内幕机制470

12.12.2知识点:SQL全局临时视图及临时视图473

12.12.3大数据电影点评系统应用案例完整代码474

12.13本章总结496

第13章Spark 2.2实战之 Dataset开发实战企业人员管理系统应用案例498

13.1企业人员管理系统应用案例业务需求分析498

13.2企业人员管理系统应用案例数据建模499

13.3通过SparkSession创建案例开发实战上下文环境500

13.3.1 Spark 1.6.0版本SparkContext500

13.3.2 Spark 2.0.0版本SparkSession501

13.3.3 DataFrame、 DataSet剖析与实战507

13.4通过map、 flatMap、 mapPartitions等分析企业人员管理系统510

13.5通过dropDuplicate、 coalesce、 repartition等分析企业人员管理系统512

13.6通过sort、 join、 joinWith等分析企业人员管理系统514

13.7通过randomSplit、 sample、 select等分析企业人员管理系统515

13.8通过groupBy、 agg、 col等分析企业人员管理系统517

13.9通过collect list、 collect set等分析企业人员管理系统518

13.10通过avg、 sum、 countDistinct等分析企业人员管理系统519

13.11 Dataset开发实战企业人员管理系统应用案例代码519

13.12本章总结522

第14章Spark商业案例之电商交互式分析系统应用案例523

14.1纯粹通过DataSet进行电商交互式分析系统中特定时段访问次数TopN523

14.1.1电商交互式分析系统数据说明523

14.1.2特定时段内用户访问电商网站排名TopN525

14.2纯粹通过DataSet分析特定时段购买金额Top10和访问次数增长Top10527

14.3纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解530

14.3.1统计特定时段购买金额最多的Top5用户530

14.3.2统计特定时段访问次数增长最多的Top5用户530

14.3.3统计特定时段购买金额增长最多的Top 5用户531

14.3.4统计特定时段注册之后前两周内访问次数最多的Top 10用户533

14.3.5统计特定时段注册之后前两周内购买总额最多的Top 10用户534

14.4电商交互式分析系统应用案例涉及的核心知识点原理、源码及案例代码535

14.4.1知识点:Functions.scala535

14.4.2电商交互式分析系统应用案例完整代码548

14.5本章总结555

第15章Spark商业案例之NBA篮球运动员大数据分析系统应用案例556

15.1 NBA篮球运动员大数据分析系统架构和实现思路556

15.2 NBA篮球运动员大数据分析系统代码实战:数据清洗和初步处理561

15.3 NBA篮球运动员大数据分析代码实战之核心基础数据项编写565

15.3.1 NBA球员数据每年基础数据项记录565

15.3.2 NBA球员数据每年标准分Z-Score计算567

15.3.3 NBA球员数据每年归一化计算568

15.3.4 NBA历年比赛数据按球员分组统计分析572

15.3.5 NBA球员年龄值及经验值列表获取575

15.3.6 NBA球员年龄值及经验值统计分析576

15.3.7 NBA球员系统内部定义的函数、辅助工具类578

15.4 NBA篮球运动员大数据分析完整代码测试和实战582

15.5 NBA篮球运动员大数据分析系统应用案例涉及的核心知识点、原理、源码594

15.5.1知识点:StatCounter源码分析594

15.5.2知识点:StatCounter应用案例598

15.6本章总结601

第16章 电商广告点击大数据实时流处理系统案例602

16.1电商广告点击综合案例需求分析和技术架构602

16.1.1电商广告点击综合案例需求分析602

16.1.2电商广告点击综合案例技术架构603

16.1.3电商广告点击综合案例整体部署606

16.1.4生产数据业务流程及消费数据业务流程607

16.1.5 Spark JavaStreamingContext初始化及启动607

16.1.6 Spark Streaming使用No Receivers方式读取Kafka数据及监控609

16.2电商广告点击综合案例在线点击统计实战612

16.3电商广告点击综合案例黑名单过滤实现615

16.3.1基于用户广告点击数据表,动态过滤黑名单用户616

16.3.2黑名单的整个RDD进行去重操作617

16.3.3将黑名单写入到黑名单数据表618

16.4电商广告点击综合案例底层数据层的建模和编码实现(基于MySQL)618

16.4.1电商广告点击综合案例数据库链接单例模式实现619

16.4.2电商广告点击综合案例数据库操作实现622

16.5电商广告点击综合案例动态黑名单过滤真正的实现代码624

16.5.1从数据库中获取黑名单封装成RDD624

16.5.2黑名单RDD和批处理RDD进行左关联,过滤掉黑名单625

16.6动态黑名单基于数据库MySQL的真正操作代码实战627

16.6.1 MySQL数据库操作的架构分析627

16.6.2 MySQL数据库操作的代码实战628

16.7通过updateStateByKey等实现广告点击流量的在线更新统计634

16.8实现每个省份点击排名Top5广告639

16.9实现广告点击Trend趋势计算实战643

16.10实战模拟点击数据的生成和数据表SQL的建立648

16.10.1电商广告点击综合案例模拟数据的生成648

16.10.2电商广告点击综合案例数据表SQL的建立651

16.11电商广告点击综合案例运行结果654

16.11.1电商广告点击综合案例Hadoop集群启动654

16.11.2电商广告点击综合案例Spark集群启动655

16.11.3电商广告点击综合案例Zookeeper集群启动656

16.11.4电商广告点击综合案例Kafka集群启动658

16.11.5电商广告点击综合案例Hive metastore集群启动660

16.11.6电商广告点击综合案例程序运行660

16.11.7电商广告点击综合案例运行结果661

16.12电商广告点击综合案例Scala版本关注点663

16.13电商广告点击综合案例课程的Java源码666

16.14电商广告点击综合案例课程的Scala源码694

16.15本章总结711

第17章Spark在通信运营商生产环境中的应用案例712

17.1Spark在通信运营商融合支付系统日志统计分析中的综合应用案例712

17.1.1融合支付系统日志统计分析综合案例需求分析712

17.1.2融合支付系统日志统计分析数据说明714

17.1.3融合支付系统日志清洗中Scala正则表达式与模式匹配结合的代码实战718

17.1.4融合支付系统日志在大数据Splunk中的可视化展示722

17.1.5融合支付系统日志统计分析案例涉及的正则表达式知识点及案例代码733

17.2 Spark在光宽用户流量热力分布GIS系统中的综合应用案例742

17.2.1光宽用户流量热力分布GIS系统案例需求分析742

17.2.2光宽用户流量热力分布GIS应用的数据说明742

17.2.3光宽用户流量热力分布GIS应用Spark实战744

17.2.4光宽用户流量热力分布GIS应用Spark实战成果748

17.2.5光宽用户流量热力分布GIS应用Spark案例代码749

17.3本章总结752

第18章 使用Spark GraphX实现婚恋社交网络多维度分析案例753

18.1 Spark GraphX发展演变历史和在业界的使用案例753

18.2 Spark GraphX设计实现的核心原理757

18.3 Table operator和Graph Operator760

18.4 Vertices、 edges、 triplets762

18.5以最原始的方式构建Graph765

18.6第一个Graph代码实例并进行Vertices、 edges.triplets操作实战765

18.7数据加载成为Graph并进行操作实战775

18.8图操作之Property Operators实战782

18.9图操作之Structural Operators实战784

18.10图操作之Computing Degree实战788

18.11图操作之Collecting Neighbors实战791

18.12图操作之Join Operators实战793

18.13图操作之aggregateMessages实战796

18.14图算法之Pregel API原理解析与实战799

18.15 图算法之ShortestPaths原理解析与实战804

18.16图算法之PageRank原理解析与实战805

18.17图算法之TriangleCount原理解析与实战807

18.18使用Spark GraphX实现婚恋社交网络多维度分析实战809

18.18.1婚恋社交网络多维度分析实战图的属性演示811

18.18.2婚恋社交网络多维度分析实战图的转换操作814

18.18.3婚恋社交网络多维度分析实战图的结构操作815

18.18.4婚恋社交网络多维度分析实战图的连接操作816

18.18.5婚恋社交网络多维度分析实战图的聚合操作818

18.18.6婚恋社交网络多维度分析实战图的实用操作822

18.19婚恋社交网络多维度分析案例代码823

18.20本章总结832

下篇 性能调优834

第19章 对运行在YARN上的Spark进行性能调优834

19.1运行环境Jar包管理及数据本地性原理调优实践834

19.1.1运行环境Jar包管理及数据本地性原理834

19.1.2运行环境Jar包管理及数据本地性调优实践835

19.2 Spark on YARN两种不同的调度模型及其调优836

19.2.1 Spark on YARN的两种不同类型模型优劣分析836

19.2.2 Spark on YARN的两种不同类型调优实践837

19.3 YARN队列资源不足引起的Spark应用程序失败的原因及调优方案838

19.3.1失败的原因剖析838

19.3.2调优方案838

19.4 Spark on YARN模式下Executor经常被杀死的原因及调优方案838

19.4.1原因剖析838

19.4.2调优方案839

19.5 YARN-Client模式下网卡流量激增的原因及调优方案839

19.5.1原因剖析839

19.5.2调优方案840

19.6 YARN-Cluster模式下JVM栈内存溢出的原因及调优方案840

19.6.1原因剖析841

19.6.2调优方案841

第20章Spark算子调优最佳实践842

20.1使用mapPartitions或者mapPartitionW ithIndex取代map操作842

20.1.1 mapPartitions内部工作机制和源码解析842

20.1.2 mapPartitionWithIndex内部工作机制和源码解析842

20.1.3使用mapPartitions取代map案例和性能测试843

20.2使用foreachPartition把Spark数据持久化到外部存储介质844

20.2.1 foreachPartition内部工作机制和源码解析844

20.2.2使用foreachPartition写数据到MySQL中案例和性能测试845

20.3使用coalesce取代rePartition操作845

20.3.1 coalesce和repartition工作机制和源码剖析845

20.3.2通过测试对比coalesce和repartition的性能847

20.4使用repartitionAndSortW ithinPartitions取代repartition和sort的联合操作847

20.4.1 repartitionAndSortWithinPartitions工作机制和源码解析847

20.4.2 repartitionAndSortWithinPartitions性能测试848

20.5使用treeReduce取代reduce的原理和源码848

20.5.1 treeReduce进行reduce的工作原理和源码848

20.5.2使用treeReduce进行性能测试849

20.6使用treeAggregate取代Aggregate的原理和源码851

20.6.1 treeAggregate进行Aggregate的工作原理和源码851

20.6.2使用treeAggregate进行性能测试852

20.7 reduceByKey高效运行的原理和源码解密853

20.8使用AggregateByKey取代groupByKey的原理和源码857

20.8.1使用AggregateByKey取代groupByKey的原理857

20.8.2源码剖析858

20.8.3使用AggregateByKey取代groupByKey进行性能测试859

20.9 Join不产生Shuffle的情况及案例实战860

20.9.1 Join在什么情况下不产生Shuffle及其运行原理860

20.9.2 Join不产生Shuffle的情况案例实战860

20.10 RDD复用性能调优最佳实践861

20.10.1什么时候需要复用RDD861

20.10.2如何复用 RDD算子862

第21章Spark频繁遇到的性能问题及调优技巧864

21.1使用BroadCast广播大变量和业务配置信息原理和案例实战864

21.1.1使用BroadCast广播大变量和业务配置信息原理864

21.1.2使用BroadCast广播大变量和业务配置信息案例实战865

21.2使用Kryo取代Scala默认的序列器原理和案例实战865

21.2.1使用Kryo取代Scala默认的序列器原理865

21.2.2使用Kryo取代Scala默认的序列器案例实战866

21.3使用FastUtil优化JVM数据格式解析和案例实战866

21.3.1使用FastUtil优化JVM数据格式解析866

21.3.2使用FastUtil优化JVM数据格式案例实战867

21.4 Persist及checkpoint使用时的正误方式868

21.5序列化导致的报错原因解析和调优实战870

21.5.1报错原因解析870

21.5.2调优实战870

21.6算子返回NULL产生的问题及解决办法874

第22章Spark集群资源分配及并行度调优最佳实践875

22.1实际生产环境下每个Executor内存及CPU的具体配置及原因875

22.1.1内存的具体配置及原因875

22.1.2实际生产环境下一般每个Executor的CPU的具体配置及原因877

22.2 Spark并行度设置最佳实践878

22.2.1并行度设置的原理和影响因素878

22.2.2并行度设置最佳实践878

第23章Spark集群中Mapper端、Reducer端内存调优880

23.1 Spark集群中Mapper端内存调优实战880

23.1.1内存使用详解880

23.1.2内存性能调优实战881

23.2 Spark集群中Reducer端内存调优实战881

23.2.1内存使用详解881

23.2.2内存性能调优实战883

第24章 使用Broadcast实现Mapper端Shuffle聚合功能的原理和调优实战885

24.1使用Broadcast实现Mapper端Shuffle聚合功能的原理885

24.2使用Broadcast实现Mapper端Shuffle聚合功能调优实战885

第25章 使用Accumulator高效地实现分布式集群全局计数器的原理和调优案例887

25.1 Accumulator内部工作原理887

25.2 Accumulator自定义实现原理和源码解析887

25.3 Accumulator作全局计数器案例实战888

第26章Spark下JVM性能调优最佳实践889

26.1 JVM内存架构详解及调优889

26.1.1 JVM的堆区、栈区、方法区等详解889

26.1.2 JVM线程引擎及内存共享区域详解890

26.1.3 JVM中年轻代和老年代及元空间原理详解891

26.1.4 JVM进行GC的具体工作流程详解895

26.1.5 JVM常见调优参数详解895

26.2 Spark中对JVM使用的内存原理图详解及调优896

26.2.1Spark中对JVM使用的内存原理图说明896

26.2.2 Spark中对JVM使用的内存原理图内幕详解897

26.2.3 Spark下的常见的JVM内存调优参数最佳实践899

26.3 Spark下JVM的On-Heap和Off-Heap解密900

26.3.1 JVM的On-Heap和Off-Heap详解901

26.3.2 Spark是如何管理JVM的On-Heap和Off-Heap的902

26.3.3 Spark下JVM的On-Heap和Off-Heap调优最佳实践903

26.4 Spark下的JVM GC导致的Shuffle拉取文件失败及调优方案905

26.4.1 Spark下的JVM GC导致的Shuffle拉取文件失败原因解密905

26.4.2 Spark下的JVM GC导致的Shuffle拉取文件失败时调优906

26.5 Spark下的Executor对JVM堆外内存连接等待时长调优906

26.5.1 Executor对堆外内存等待工作过程906

26.5.2 Executor对堆外内存等待时长调优907

26.6 Spark下的JVM内存降低Cache内存占比的调优907

26.6.1什么时候需要降低Cache的内存占用907

26.6.2降低Cache的内存占比调优最佳实践908

第27章Spark五大子框架调优最佳实践909

27.1 Spark SQL调优原理及调优最佳实践909

27.1.1 Spark SQL调优原理909

27.1.2 Spark SQL调优参数及调优最佳实践943

27.2 Spark Streaming调优原理及调优最佳实践944

27.2.1 Spark Streaming调优原理944

27.2.2 Spark Streaming调优参数及调优最佳实践946

27.3 Spark GraphX调优原理及调优最佳实践948

27.3.1 Spark GraphX调优原理948

27.3.2 Spark GraphX调优参数及调优最佳实践949

27.4 Spark ML调优原理及调优最佳实践950

27.4.1 Spark ML 调优原理950

27.4.2 Spark ML 调优参数及调优最佳实践951

27.5 SparkR调优原理及调优最佳实践953

27.5.1 SparkR调优原理953

27.5.2 SparkR调优参数及调优最佳实践955

第28章Spark 2.2.0新一代钨丝计划优化引擎957

28.1概述957

28.2内存管理与二进制处理958

28.2.1概述958

28.2.2内存管理的模型及其实现类的解析960

28.2.3二进制处理及其实现类的解析975

28.3缓存感知计算982

28.3.1概述982

28.3.2缓存感知计算的解析982

28.3.3缓存感知计算类的解析983

28.4代码生成983

28.4.1概述983

28.4.2新型解析器的解析983

28.4.3代码生成的解析984

28.4.4表达式代码生成的应用解析986

28.5本章总结989

第29章Spark Shuffle调优原理及实践990

29.1 Shuffle对性能消耗的原理详解990

29.2 Spark.Shuffle.manager参数调优原理及实践992

29.3 Spark.Shuffle.blockTransferService参数调优原理及实践993

29.4 Spark.Shuffle.compress参数调优原理及最佳实践993

29.5 Spark.io.compression.codec参数调优原理及实践994

29.6 Spark.Shuffle.consolidateFiles参数调优原理及实践995

29.7 Spark.Shuffle.file. buffer参数调优原理及实践995

29.8 Spark.Shuffle.io.maxRetries参数调优原理及实践997

29.9 Spark.Shuffle.io.retryWait参数调优原理及实践997

29.10 Spark.Shuffle.io.numConnectionsPerPeer参数调优原理及实践998

29.11 Spark.reducer.maxSizeInFlight参数调优原理及实践998

29.12 Spark.Shuffle.io.preferDirectBufs参数调优原理及实践999

29.13 Spark.Shuffle.memoryFraction参数调优原理及实践999

29.14 Spark.Shuffle.service.enabled参数调优原理及实践1000

29.15 Spark.Shuffle.service.port参数调优原理及实践1001

29.16 Spark.Shuffle.Sort.bypassMergeThreshold参数调优原理及实践1002

29.17 Spark.Shuffle.spill参数调优原理及实践1003

29.18 Spark.Shuffle.spill.compress参数调优原理及实践1004

第30章Spark性能调优之数据倾斜调优一站式解决方案原理与实战1005

30.1为什么数据倾斜是分布式大数据系统的性能噩梦1005

30.1.1什么是数据倾斜1005

30.1.2数据倾斜对性能的巨大影响1006

30.1.3如何判断Spark程序运行中出现了数据倾斜1007

30.1.4如何定位数据倾斜1008

30.2数据倾斜解决方案之一:对源数据进行聚合并过滤掉导致倾斜的Keys1008

30.2.1适用场景分析1009

30.2.2原理剖析1009

30.2.3使用Hive等ETL工具对源数据进行聚合并过滤掉导致倾斜的Keys1009

30.2.4使用Spark SQL对源数据进行聚合并过滤掉导致倾斜的Keys1010

30.3数据倾斜解决方案之二:适当提高Reducer端的并行度1010

30.3.1适用场景分析1010

30.3.2原理剖析1011

30.3.3案例实战1011

30.3.4注意事项1012

30.4数据倾斜解决方案之三:使用随机Key实现双重聚合1013

30.4.1什么是随机Key双重聚合1013

30.4.2适用场景分析1013

30.4.3原理剖析1014

30.4.4案例实战1014

30.4.5注意事项1015

30.5数据倾斜解决方案之四:使用Mapper端进行Join操作1015

30.5.1为什么要在Mapper端进行Join操作1015

30.5.2适用场景分析1015

30.5.3原理剖析1015

30.5.4案例实战1017

30.5.5注意事项1017

30.6数据倾斜解决方案之五:对倾斜的Keys采样后进行单独的Join操作1017

30.6.1为什么对倾斜的Keys采样进行单独的Join操作1018

30.6.2如何对倾斜的Keys进行采样1018

30.6.3适用场景分析1018

30.6.4案例实战1019

30.6.5注意事项1019

30.7数据倾斜解决方案之六:使用随机数进行Join1020

30.7.1如何使用随机数1020

30.7.2适用场景分析1020

30.7.3案例实战1020

30.7.4注意事项1021

30.8数据倾斜解决方案之七:通过扩容进行Join1021

30.8.1如何进行扩容1021

30.8.2适用场景分析1022

30.8.3案例实战1022

30.8.4注意事项1022

30.9结合电影点评系统进行数据倾斜解决方案的小结1023

第31章Spark大数据性能调优实战专业之路1025

31.1大数据性能调优的本质和Spark性能调优要点分析1025

31.2 Spark性能调优之系统资源使用原理和调优最佳实践1027

31.3 Spark性能调优之使用更高性能算子及其源码剖析1028

31.4 Spark旧版本中性能调优之HashShuffle剖析及调优1033

31.5 Shuffle如何成为Spark性能杀手1035

31.6 Spark Hash Shuffle源码解读与剖析1037

31.7 Sort-Based Shuffle产生的内幕及其tungsten-sort背景解密1051

31.8 Spark Shuffle令人费解的6大经典问题1055

31.9 Spark Sort-Based Shuffle排序具体实现内幕和源码详解1056

31.10 Spark 1.6.X以前Shuffle中JVM内存使用及配置内幕详情1063

31.11 Spark 2.2.X中Shuffle中内存管理源码解密:StaticMemory和UnifiedMemory1069

31.12 Spark 2.2.X中Shuffle中JVM Unified Memory内幕详情1085

31.13 Spark 2.2.X中Shuffle中Task视角内存分配管理1090

31.14 Spark 2.2.X中Shuffle中Mapper端的源码实现1097

31.15 Spark 2.2.X中Shuffle中SortShuffleWriter排序源码内幕解密1107

31.16 Spark 2.2.X中Sort Shuffle中timSort排序源码具体实现1113

31.17 Spark 2.2.X中Sort Shuffle中Reducer端源码内幕1126

后记1141

热门推荐