封面
书名页
版权页
作者简介
内容简介
前言
上篇 内核解密
第1章 电光石火间体验Spark 2.2开发实战
1.1 通过RDD实战电影点评系统入门及源码阅读
1.2 通过DataFrame和DataSet实战电影点评系统
1.3 Spark 2.2源码阅读环境搭建及源码阅读体验
第2章 Spark 2.2技术及原理
2.1 Spark 2.2综述
2.2 Spark 2.2 Core
2.3 Spark 2.2 SQL
2.4 Spark 2.2 Streaming
2.5 Spark 2.2 MLlib
2.6 Spark 2.2 GraphX
第3章 Spark的灵魂:RDD和DataSet
3.1 为什么说RDD和DataSet是Spark的灵魂
3.2 RDD弹性特性七个方面解析
3.3 RDD依赖关系
3.4 解析Spark中的DAG逻辑视图
3.5 RDD内部的计算机制
3.6 Spark RDD容错原理及其四大核心要点解析
3.7 Spark RDD中Runtime流程解析
3.8 通过WordCount实战解析Spark RDD内部机制
3.9 基于DataSet的代码到底是如何一步步转化成为RDD的
第4章 Spark Driver启动内幕剖析
4.1 Spark Driver Program剖析
4.2 DAGScheduler解析
4.3 TaskScheduler解析
4.4 SchedulerBackend解析
4.5 打通Spark系统运行内幕机制循环流程
4.6 本章总结
第5章 Spark集群启动原理和源码详解
5.1 Master启动原理和源码详解
5.2 Worker启动原理和源码详解
5.3 ExecutorBackend启动原理和源码详解
5.4 Executor中任务的执行
5.5 Executor执行结果的处理方式
5.6 本章总结
第6章 Spark Application提交给集群的原理和源码详解
6.1 Spark Application到底是如何提交给集群的
6.2 Spark Application是如何向集群申请资源的
6.3 从Application提交的角度重新审视Driver
6.4 从Application提交的角度重新审视Executor
6.5 Spark 1.6 RPC内幕解密:运行机制、源码详解、Netty与Akka等
6.6 本章总结
第7章 Shuffle原理和源码详解
7.1 概述
7.2 Shuffle的框架
7.3 Hash Based Shuffle
7.4 Sorted Based Shuffle
7.5 Tungsten Sorted Based Shuffle
7.6 Shuffle与Storage模块间的交互
7.7 本章总结
第8章 Job工作原理和源码详解
8.1 Job到底在什么时候产生
8.2 Stage划分内幕
8.3 Task全生命周期详解
8.4 ShuffleMapTask和ResultTask处理结果是如何被Driver管理的
第9章 Spark中Cache和checkpoint原理和源码详解
9.1 Spark中Cache原理和源码详解
9.2 Spark中checkpoint原理和源码详解
第10章 Spark中Broadcast和Accumulator原理和源码详解
10.1 Spark中Broadcast原理和源码详解
10.2 Spark中Accumulator原理和源码详解
第11章 Spark与大数据其他经典组件整合原理与实战
11.1 Spark组件综合应用
11.2 Spark与Alluxio整合原理与实战
11.3 Spark与Job Server整合原理与实战
11.4 Spark与Redis整合原理与实战
中篇 商业案例
第12章 Spark商业案例之大数据电影点评系统应用案例
12.1 通过RDD实现分析电影的用户行为信息
12.2 通过RDD实现电影流行度分析
12.3 通过RDD分析各种类型的最喜爱电影TopN及性能优化技巧
12.4 通过RDD分析电影点评系统仿QQ和微信等用户群分析及广播背后机制解密
12.5 通过RDD分析电影点评系统实现Java和Scala版本的二次排序系统
12.6 通过Spark SQL中的SQL语句实现电影点评系统用户行为分析
12.7 通过Spark SQL下的两种不同方式实现口碑最佳电影分析
12.8 通过Spark SQL下的两种不同方式实现最流行电影分析
12.9 通过DataFrame分析最受男性和女性喜爱电影TopN
12.10 纯粹通过DataFrame分析电影点评系统仿QQ和微信、淘宝等用户群
12.11 纯粹通过DataSet对电影点评系统进行流行度和不同年龄阶段兴趣分析等
12.12 大数据电影点评系统应用案例涉及的核心知识点原理、源码及案例代码
12.13 本章总结
第13章 Spark 2.2实战之Dataset开发实战企业人员管理系统应用案例
13.1 企业人员管理系统应用案例业务需求分析
13.2 企业人员管理系统应用案例数据建模
13.3 通过SparkSession创建案例开发实战上下文环境
13.4 通过map、flatMap、mapPartitions等分析企业人员管理系统
13.5 通过dropDuplicate、coalesce、repartition等分析企业人员管理系统
13.6 通过sort、join、joinWith等分析企业人员管理系统
13.7 通过randomSplit、sample、select等分析企业人员管理系统
13.8 通过groupBy、agg、col等分析企业人员管理系统
13.9 通过collect_list、collect_set等分析企业人员管理系统
13.10 通过avg、sum、countDistinct等分析企业人员管理系统
13.11 Dataset开发实战企业人员管理系统应用案例代码
13.12 本章总结
第14章 Spark商业案例之电商交互式分析系统应用案例
14.1 纯粹通过DataSet进行电商交互式分析系统中特定时段访问次数TopN
14.2 纯粹通过DataSet分析特定时段购买金额Top10和访问次数增长Top10
14.3 纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解
14.4 电商交互式分析系统应用案例涉及的核心知识点原理、源码及案例代码
14.5 本章总结
第15章 Spark商业案例之NBA篮球运动员大数据分析系统应用案例
15.1 NBA篮球运动员大数据分析系统架构和实现思路
15.2 NBA篮球运动员大数据分析系统代码实战:数据清洗和初步处理
15.3 NBA篮球运动员大数据分析代码实战之核心基础数据项编写
15.4 NBA篮球运动员大数据分析完整代码测试和实战
15.5 NBA篮球运动员大数据分析系统应用案例涉及的核心知识点、原理、源码
15.6 本章总结
第16章 电商广告点击大数据实时流处理系统案例
16.1 电商广告点击综合案例需求分析和技术架构
16.2 电商广告点击综合案例在线点击统计实战
16.3 电商广告点击综合案例黑名单过滤实现
16.4 电商广告点击综合案例底层数据层的建模和编码实现(基于MySQL)
16.5 电商广告点击综合案例动态黑名单过滤真正的实现代码
16.6 动态黑名单基于数据库MySQL的真正操作代码实战
16.7 通过updateStateByKey等实现广告点击流量的在线更新统计
16.8 实现每个省份点击排名Top5广告
16.9 实现广告点击Trend趋势计算实战
16.10 实战模拟点击数据的生成和数据表SQL的建立
16.11 电商广告点击综合案例运行结果
16.12 电商广告点击综合案例Scala版本关注点
16.13 电商广告点击综合案例课程的Java源码
16.14 电商广告点击综合案例课程的Scala源码
16.15 本章总结
第17章 Spark在通信运营商生产环境中的应用案例
17.1 Spark在通信运营商融合支付系统日志统计分析中的综合应用案例
17.2 Spark在光宽用户流量热力分布GIS系统中的综合应用案例
17.3 本章总结
第18章 使用Spark GraphX实现婚恋社交网络多维度分析案例
18.1 Spark GraphX发展演变历史和在业界的使用案例
18.2 Spark GraphX设计实现的核心原理
18.3 Table operator和Graph Operator
18.4 Vertices、edges、triplets
18.5 以最原始的方式构建Graph
18.6 第一个Graph代码实例并进行Vertices、edges、triplets操作实战
18.7 数据加载成为Graph并进行操作实战
18.8 图操作之Property Operators实战
18.9 图操作之Structural Operators实战
18.10 图操作之Computing Degree实战
18.11 图操作之Collecting Neighbors实战
18.12 图操作之Join Operators实战
18.13 图操作之aggregateMessages实战
18.14 图算法之Pregel API原理解析与实战
18.15 图算法之ShortestPaths原理解析与实战
18.16 图算法之PageRank原理解析与实战
18.17 图算法之TriangleCount原理解析与实战
18.18 使用Spark GraphX实现婚恋社交网络多维度分析实战
18.19 婚恋社交网络多维度分析案例代码
18.20 本章总结
下篇 性能调优
第19章 对运行在YARN上的Spark进行性能调优
19.1 运行环境Jar包管理及数据本地性原理调优实践
19.2 Spark on YARN两种不同的调度模型及其调优
19.3 YARN队列资源不足引起的Spark应用程序失败的原因及调优方案
19.4 Spark on YARN模式下Executor经常被杀死的原因及调优方案
19.5 YARN-Client模式下网卡流量激增的原因及调优方案
19.6 YARN-Cluster模式下JVM栈内存溢出的原因及调优方案
第20章 Spark算子调优最佳实践
20.1 使用mapPartitions或者mapPartitionWithIndex取代map操作
20.2 使用foreachPartition把Spark数据持久化到外部存储介质
20.3 使用coalesce取代rePartition操作
20.4 使用repartitionAndSortWithinPartitions取代repartition和sort的联合操作
20.5 使用treeReduce取代reduce的原理和源码
20.6 使用treeAggregate取代Aggregate的原理和源码
20.7 reduceByKey高效运行的原理和源码解密
20.8 使用AggregateByKey取代groupByKey的原理和源码
20.9 Join不产生Shuffle的情况及案例实战
20.10 RDD复用性能调优最佳实践
第21章 Spark频繁遇到的性能问题及调优技巧
21.1 使用BroadCast广播大变量和业务配置信息原理和案例实战
21.2 使用Kryo取代Scala默认的序列器原理和案例实战
21.3 使用FastUtil优化JVM数据格式解析和案例实战
21.4 Persist及checkpoint使用时的正误方式
21.5 序列化导致的报错原因解析和调优实战
21.6 算子返回NULL产生的问题及解决办法
第22章 Spark集群资源分配及并行度调优最佳实践
22.1 实际生产环境下每个Executor内存及CPU的具体配置及原因
22.2 Spark并行度设置最佳实践
第23章 Spark集群中Mapper端、Reducer端内存调优
23.1 Spark集群中Mapper端内存调优实战
23.2 Spark集群中Reducer端内存调优实战
第24章 使用Broadcast实现Mapper端Shuffle聚合功能的原理和调优实战
24.1 使用Broadcast实现Mapper端Shuffle聚合功能的原理
24.2 使用Broadcast实现Mapper端Shuffle聚合功能调优实战
第25章 使用Accumulator高效地实现分布式集群全局计数器的原理和调优案例
25.1 Accumulator内部工作原理
25.2 Accumulator自定义实现原理和源码解析
25.3 Accumulator作全局计数器案例实战
第26章 Spark下JVM性能调优最佳实践
26.1 JVM内存架构详解及调优
26.2 Spark中对JVM使用的内存原理图详解及调优
26.3 Spark下JVM的On-Heap和Off-Heap解密
26.4 Spark下的JVM GC导致的Shuffle拉取文件失败及调优方案
26.5 Spark下的Executor对JVM堆外内存连接等待时长调优
26.6 Spark下的JVM内存降低Cache内存占比的调优
第27章 Spark五大子框架调优最佳实践
27.1 Spark SQL调优原理及调优最佳实践
27.2 Spark Streaming调优原理及调优最佳实践
27.3 Spark GraphX调优原理及调优最佳实践
27.4 Spark ML调优原理及调优最佳实践
27.5 SparkR调优原理及调优最佳实践
第28章 Spark 2.2.0新一代钨丝计划优化引擎
28.1 概述
28.2 内存管理与二进制处理
28.3 缓存感知计算
28.4 代码生成
28.5 本章总结
第29章 Spark Shuffle调优原理及实践
29.1 Shuffle对性能消耗的原理详解
29.2 Spark.Shuffle.manager参数调优原理及实践
29.3 Spark.Shuffle.blockTransferService参数调优原理及实践
29.4 Spark.Shuffle.compress参数调优原理及实践
29.5 Spark.io.compression.codec参数调优原理及实践
29.6 Spark.Shuffle.consolidateFiles参数调优原理及实践
29.7 Spark.Shuffle.file.buffer参数调优原理及实践
29.8 Spark.Shuffle.io.maxRetries参数调优原理及实践
29.9 Spark.Shuffle.io.retryWait参数调优原理及实践
29.10 Spark.Shuffle.io.numConnectionsPerPeer参数调优原理及实践
29.11 Spark.reducer.maxSizeInFlight参数调优原理及实践
29.12 Spark.Shuffle.io.preferDirectBufs参数调优原理及实践
29.13 Spark.Shuffle.memoryFraction参数调优原理及实践
29.14 Spark.Shuffle.service.enabled参数调优原理及实践
29.15 Spark.Shuffle.service.port参数调优原理及实践
29.16 Spark.Shuffle.Sort.bypassMergeThreshold参数调优原理及实践
29.17 Spark.Shuffle.spill参数调优原理及实践
29.18 Spark.Shuffle.spill.compress参数调优原理及实践
第30章 Spark性能调优之数据倾斜调优一站式解决方案原理与实战
30.1 为什么数据倾斜是分布式大数据系统的性能噩梦
30.2 数据倾斜解决方案之一:对源数据进行聚合并过滤掉导致倾斜的Keys
30.3 数据倾斜解决方案之二:适当提高Reducer端的并行度
30.4 数据倾斜解决方案之三:使用随机Key实现双重聚合
30.5 数据倾斜解决方案之四:使用Mapper端进行Join操作
30.6 数据倾斜解决方案之五:对倾斜的Keys采样后进行单独的Join操作
30.7 数据倾斜解决方案之六:使用随机数进行Join
30.8 数据倾斜解决方案之七:通过扩容进行Join
30.9 结合电影点评系统进行数据倾斜解决方案的小结
第31章 Spark大数据性能调优实战专业之路
31.1 大数据性能调优的本质和Spark性能调优要点分析
31.2 Spark性能调优之系统资源使用原理和调优最佳实践
31.3 Spark性能调优之使用更高性能算子及其源码剖析
31.4 Spark旧版本中性能调优之HashShuffle剖析及调优
31.5 Shuffle如何成为Spark性能杀手
31.6 Spark Hash Shuffle源码解读与剖析
31.7 Sort-Based Shuffle产生的内幕及其tungsten-sort背景解密
31.8 Spark Shuffle令人费解的6大经典问题
31.9 Spark Sort-Based Shuffle排序具体实现内幕和源码详解
31.10 Spark 1.6.X以前Shuffle中JVM内存使用及配置内幕详情
31.11 Spark 2.2.X中Shuffle中内存管理源码解密:StaticMemory和UnifiedMemory
31.12 Spark 2.2.X中Shuffle中JVM Unified Memory内幕详情
31.13 Spark 2.2.X中Shuffle中Task视角内存分配管理
31.14 Spark 2.2.X中Shuffle中Mapper端的源码实现
31.15 Spark 2.2.X中Shuffle中SortShuffleWriter排序源码内幕解密
31.16 Spark 2.2.X中Sort Shuffle中timSort排序源码具体实现
31.17 Spark 2.2.X中Sort Shuffle中Reducer端的源码内幕
后记
更新时间:2019-12-12 17:30:58