展开全部

主编推荐语

本书基于Spark2.4.X版本,对企业生产环境下的Spark商业案例与性能调优抽丝剥茧地进行剖析。

内容简介

全书共分4篇:

内核解密篇基于Spark源码,从一个实战案例入手,循序渐进地全面解析Spark2.4.X版本的新特性及Spark内核源码;

商业案例篇选取Spark开发中具代表性的经典学习案例,在案例中综合介绍Spark的大数据技术;

性能调优篇覆盖Spark在生产环境下的所有调优技术;

Spark+AI解密篇讲解深度学习实践、Spark+PyTorch案例实战、Spark+TensorFlow实战以及Spark上的深度学习内核解密。

目录

  • 版权信息
  • 作者简介
  • 内容简介
  • 第2版前言
  • 第1版前言
  • 第1篇 内核解密篇
  • 第1章 电光石火间体验Spark 2.4开发实战
  • 1.1 通过RDD实战电影点评系统入门及源码阅读
  • 1.2 通过DataFrame和DataSet实战电影点评系统
  • 1.3 Spark 2.4源码阅读环境搭建及源码阅读体验
  • 第2章 Spark 2.4技术及原理
  • 2.1 Spark 2.4综述
  • 2.2 Spark 2.4 Core
  • 2.3 Spark 2.4 SQL
  • 2.4 Spark 2.4 Streaming
  • 2.5 Spark 2.4 MLlib
  • 2.6 Spark 2.4 GraphX
  • 第3章 Spark的灵魂:RDD和DataSet
  • 3.1 为什么说RDD和DataSet是Spark的灵魂
  • 3.2 RDD弹性特性7个方面解析
  • 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 Driver如何管理ShuffleMapTask和ResultTask的处理结果
  • 第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整合原理与实战
  • 第2篇 商业案例篇
  • 第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 本章总结
  • 第3篇 性能调优篇
  • 第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.4.X下Shuffle中内存管理源码解密:StaticMemory和UnifiedMemory
  • 31.12 Spark 2.4.X下Shuffle中JVM Unified Memory内幕详情
  • 31.13 Spark 2.4.X下Shuffle中Task视角内存分配管理
  • 31.14 Spark 2.4.X下Shuffle中Mapper端的源码实现
  • 31.15 Spark 2.4.X下Shuffle中SortShuffleWriter排序源码内幕解密
  • 31.16 Spark 2.4.X下Sort Shuffle中timSort排序源码具体实现
  • 31.17 Spark 2.4.X下Sort Shuffle中Reducer端的源码内幕
  • 第4篇 Spark+AI解密篇
  • 第32章 Apache Spark+深度学习实战及内幕解密
  • 32.1 深度学习动手实践
  • 32.2 Spark+PyTorch案例实战
  • 32.3 Spark+TensorFlow实战
  • 32.4 Spark上的深度学习内核解密
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。