商业
类型
可以朗读
语音朗读
1737千字
字数
2020-04-01
发行日期
展开全部
主编推荐语
本书基于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月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。