Spark 大数据商业实战三部曲:内核解密|商业案例|性能调优 第二版 王家林,段智华著 基于最新的Spark2.4.X版本,分为内核解密篇,商业案例篇,性能调优篇和Spark+AI解密篇,共32章,学习过程中有任何疑问,可加入QQ群418110145,有专业人员答疑解惑。
王家林,Apache Spark执牛耳者现工作于硅谷的AI实验室,专注于NLP框架超过20本Spark、Al、Android书籍作者Toastmasters International Division Director GRE博士入学考试连续两次满分获得者
段智华,就职于中国电信股份有限公司上海分公司,系统架构师,CSDN博客专家,专注于Spark大数据技术研发及推广,跟随Spark核心源码技术的发展,深入研究Spark 2.1.1版本及Spark 2.2.0版本的源码优化,对Spark大数据处理、机器学习等技术有丰富的实战经验和浓厚兴趣。
在大数据和AI紧密协同时代,最佳的AI系统依赖海量数据才能构建出高度复杂的模型,海量数据需要借助Al才能挖掘出终极价值。本书以数据智能为灵魂,以Spark 2.4.X版本为载体,以Spark+ AI商业案例实战和生产环境下几乎所有类型的性能调优为核心,对企业生产环境下的Spark+AI商业案例与性能调优抽丝剥茧地进行剖析。全书共分4篇,内核解密篇基于Spark源码,从一个实战案例入手,循序渐进地全面解析Spark 2.4.X版本的新特性及Spark内核源码;商业案例篇选取Spark开发中最具代表性的经典学习案例,在案例中综合介绍Spark的大数据技术;性能调优篇覆盖Spark在生产环境下的所有调优技术; Spark+ AI内幕解密篇讲解深度学习动手实践,通过整合Spark、PyTorch以及TensorFlow揭秘Spark上的深度学习内幕。 本书适合所有大数据和人工智能学习者及从业人员使用。对于有丰富大数据和AI应用经验的人员,本书也可以作为大数据和AI高手修炼的参考用书。同时,本书也特别适合作为高等院校的大数据和人工智能教材。
第二版前言
2019年 4月,在美国旧金山举办的 Spark+AI峰会提出,大数据和人工智能需要统一,人工智能应用需要大量的、不断更新的训练数据来构建先进的模型。到目前为止, Apache Spark是唯一一个将大规模数据处理与机器学习和人工智能算法完美结合的引擎。
Apache Spark是大数据领域的通用计算平台。在 Full Stack思想的指导下, Spark中的 Spark SQL、Spark Streaming、MLLib、GraphX、R五大子框架和库之间可以无缝地共享数据和操作,这不仅形成了 Spark在当今大数据计算领域其他计算框架无可匹敌的优势,而且使其加速成为大数据处理中心首选的通用计算平台。
回顾 Spark的历史可以发现,在任何规模的数据计算中, Spark在性能和扩展性上都更具优势。
Hadoop之父 Doug Cutting指出:大数据项目的 MapReduce引擎的使用将下降,由 Apache Spark取代。
Hadoop商业发行版本的市场领导者 Cloudera、HortonWorks、MapR纷纷转投 Spark,并把 Spark作为大数据解决方案的首选和核心计算引擎。
在 2014年的 Sort Benchmark测试中,Spark秒杀 Hadoop,在使用其十分之一计算资源的情况下,对相同数据的排序, Spark比 MapReduce快 3倍。在没有官方千万亿字节( PB)排序对比的情况下,首次利用 Spark对 1PB数据( 10万亿条记录)排序,在使用 190个节点的情况下,工作负载在 4小时内完成,同样远超雅虎之前使用 3800台主机耗时 16小时的记录。
2015年 6月,Spark最大的集群—— 8000个节点来自腾讯,单个最大 Job——1PB来自阿里巴巴和 Databricks。
IBM公司于 2015年 6月承诺大力推进 Apache Spark项目,并称该项目为以数据为主导的、未来 10年最重要的、新的开源项目。
2016年,在有“计算界奥运会”之称的国际著名 Sort Benchmark全球数据排序大赛中,由南京大学计算机科学与技术系 PASA大数据实验室、阿里巴巴和 Databricks公司组成的参赛团队 NADSort,使用 Apache Spark大数据计算平台,以 144美元的成本完成了 100TB标准数据集的排序处理,创下了每万亿字节( TB)数据排序 1.44美元成本的世界纪录。
2017年,Spark Structured streaming发布无缝整合流处理和其他计算范式。
2018年,Spark 2.4.0发布,成为全球最大的开源项目。
2019年,任何个人和组织都可以基于 Spark打造符合自己需求的基于大数据的 AI全生态链计算引擎。
本书以 Spark 2.4.3为基础,在第 1版的基础上根据 Spark的新版本全面更新源码,并以 TensorFlow和 PyTorch为核心,大幅度增加人工智能的内容及相应的实战案例。本书以 Spark内核解密为基石,分为内核解密篇、商业案例篇、性能调优篇和 Spark+AI内幕解密篇。虽然本书的内容增加了一篇,为了更好地与第 1版延续,仍沿用三部曲的书名。
(1)内核解密篇。第 1版基于 Spark 2.2.X版本源码,从一个动手实战案例入手,循序渐进地全面解析了 Spark 新特性及 Spark内核源码。第 2版在第 1版的基础上,将 Spark 2.2.X源码更新为 Spark 2.4.X源码,并对源码的版本更新做了详细解读,帮助读者学习 Spark源码框架的演进及发展。
(2)商业案例篇。沿用第 1版的案例内容,选取 Spark开发中最具代表性的经典学习案例,深入浅出地介绍综合应用 Spark的大数据技术。
(3)性能调优篇。第 1版基于 Spark 2.2.X源码,基本完全覆盖了 Spark在生产环境下的所有调优技术;第 2版在第 1版的基础上,将 Spark 2.2.X源码更新为 Spark 2.4.X源码,基于 Spark 2.4.X版本讲解 Spark性能调优的内容。
(4)Spark+AI内幕解密篇。本篇是第 2版的全新内容,大幅度增加大数据在人工智能领域的应用内容,包括深度学习动手实践:人工智能下的深度学习、深度学习数据预处理、单节点深度学习训练、分布式深度学习训练; Spark+PyTorch案例实战: PyTorch在 Spark上的安装、使用 PyTorch实战图像识别、 PyTorch性能调优最佳实践; Spark+TensorFlow实战: TensorFlow在 Spark上的安装、 TensorBoard解密、 Spark TensorFlow的数据转换; Spark上的深度学习内核解密:使用 TensorFlow进行图片的分布式处理、数据模型源码剖析、逻辑节点源码剖析、构建索引源码剖析、深度学习下 Spark作业源码剖析、性能调优最佳实践。
在阅读本书的过程中,如发现任何问题或有任何疑问,可以加入本书的阅读群(QQ: 418110145)讨论,会有专人答疑。同时,该群也会提供本书所用案例源码及本书的配套学习视频。作者的新浪微博是 http://weibo.com/ilovepains/ ,欢迎大家在微博上与作者进行互动。
由于时间仓促,书中难免存在不妥之处,请读者谅解,并提出宝贵意见。
王家林 2020年 4月于美国硅谷
Spark大数据商业实战三部曲 :内核解密 商业案例 性能调优 第一版 基于新的Spark 2.2.X版本,涵盖Spark内核解密、Spark商业案例实战以及生产环境下的性能调优。 王家林,段智华,夏阳 著
基于*新的Spark2.2.X版本,分为内核解密篇,商业案例篇,性能调优篇,共31章,学习过程中有任何疑问,可加入QQ群,有专业人员答疑解惑。
《Spark大数据商业实战三部曲:内核解密|商业案例|性能调优》第一版基于Spark 2.2.X,以Spark商业案例实战和Spark在生产环境下几乎所有类型的性能调优为核心,以Spark内核解密为基石,分为上篇、中篇、下篇,对企业生产环境下的Spark商业案例与性能调优抽丝剥茧地进行剖析。上篇基于Spark源码,从一个动手实战案例入手,循序渐进地全面解析了Spark 2.2新特性及Spark内核源码;中篇选取Spark开发中*具有代表的经典学习案例,深入浅出地介绍,在案例中综合应用Spark的大数据技术;下篇性能调优内容基本完全覆盖了Spark在生产环境下的所有调优技术。
第一版前言
大数据像当年的石油、人工智能( Artificial Intelligence),像当年的电力一样,正以前所未有的广度和深度影响所有的行业,现在及未来公司的核心壁垒是数据,核心竞争力来自基于大数据的人工智能的竞争。 Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台, 2009年诞生于美国加州大学伯克利分校 AMP实验室,2010年正式开源, 2013年成为 Apache基金项目, 2014年成为 Apache基金的顶级项目。基于 RDD,Spark成功构建起了一体化、多元化的大数据处理体系。
在任何规模的数据计算中, Spark在性能和扩展性上都更具优势。
(1)Hadoop之父 Doug Cutting指出:Use of MapReduce engine for Big Data projects will decline, replaced by Apache Spark(大数据项目的 MapReduce引擎的使用将下降,由 Apache Spark取代)。
(2)Hadoop商业发行版本的市场领导者 Cloudera、HortonWorks、MapR纷纷转投 Spark,并把 Spark作为大数据解决方案的首选和核心计算引擎。
2014年的 Sort Benchmark测试中,Spark秒杀 Hadoop,在使用十分之一计算资源的情况下,相同数据的排序上, Spark比 MapReduce快 3倍!在没有官方千万亿字节( PB)排序对比的情况下,首次将 Spark推到了 1PB数据( 10万亿条记录)的排序,在使用 190个节点的情况下,工作负载在 4小时内完成,同样远超雅虎之前使用 3800台主机耗时 16个小时的记录。
2015年 6月,Spark最大的集群—— 8000个节点来自腾讯,单个 Job——1PB最大分别是阿里巴巴和 Databricks,震撼人心!同时, Spark的 Contributor比 2014年涨了 3倍,达到 730人;总代码行数也比 2014年涨了 2倍多,达到 40万行。IBM于 2015年 6月承诺大力推进 Apache Spark项目,并称该项目为:以数据为主导的,未来十年最重要的新的开源项目。
这一承诺的核心是将 Spark嵌入 IBM业内领先的分析和商务平台,并将 Spark作为一项服务,在 IBMBluemix平台上提供给客户。 IBM还将投入超过 3500名研究和开发人员在全球 10余个实验室开展与 Spark相关的项目,并将为 Spark开源生态系统无偿提供突破性的机器学习技术——IBM SystemML。同时,IBM还将培养超过 100万名 Spark数据科学家和数据工程师。
2016年,在有“计算界奥运会”之称的国际著名 Sort Benchmark 全球数据排序大赛中,由南京大学计算机科学与技术系 PASA大数据实验室、阿里巴巴和 Databricks公司组成的参赛团队 NADSort,以 144美元的成本完成 100TB标准数据集的排序处理,创下了每万亿字节(TB)数据排序 1.44美元成本的最新世界纪录,比 2014年夺得冠军的加州大学圣地亚哥分校 TritonSort团队每万亿字节数据 4.51美元的成本降低了近 70%,而这次比赛依旧使用 Apache Spark大数据计算平台,在大规模并行排序算法以及 Spark系统底层进行了大量的优化,以尽可能提高排序计算性能并降低存储资源开销,确保最终赢得比赛。
在 Full Stack理想的指引下, Spark中的 Spark SQL、SparkStreaming、MLLib、GraphX、 R五大子框架和库之间可以无缝地共享数据和操作,这不仅打造了 Spark在当今大数据计算领域其他计算框架都无可匹敌的优势,而且使得 Spark正在加速成为大数据处理中心首选通用计算平台,而 Spark商业案例和性能优化必将成为接下来的重中之重!
本书根据王家林老师亲授课程及结合众多大数据项目经验编写而成,其中王家林、段智华编写了本书近 90%的内容,具体编写章节如下。
第3章 Spark的灵魂: RDD和 DataSet;
第4章 Spark Driver启动内幕剖析;
第5章 Spark集群启动原理和源码详解;
第6章 Spark Application提交给集群的原理和源码详解;
第7章 Shuffle原理和源码详解;
第8章 Job工作原理和源码详解;
第9章 Spark中 Cache和 checkpoint原理和源码详解;
第10章 Spark中 Broadcast和 Accumulator原理和源码详解;
第11章 Spark与大数据其他经典组件整合原理与实战;
第12章 Spark商业案例之大数据电影点评系统应用案例;
第13章 Spark 2.2实战之 Dataset开发实战企业人员管理系统应用案例;
第14章 Spark商业案例之电商交互式分析系统应用案例;
第15章 Spark商业案例之 NBA篮球运动员大数据分析系统应用案例;
第16章 电商广告点击大数据实时流处理系统案例;
第17章 Spark在通信运营商生产环境中的应用案例;
第18章 使用 Spark GraphX实现婚恋社交网络多维度分析案例;
第23章 Spark集群中 Mapper端、Reducer端内存调优;
第24章 使用 Broadcast实现 Mapper端 Shuffle聚合功能的原理和调优实战;
第25章 使用 Accumulator高效地实现分布式集群全局计数器的原理和调优案例;
第27章 Spark五大子框架调优最佳实践;
第28章 Spark 2.2.0新一代钨丝计划优化引擎;
第30章 Spark性能调优之数据倾斜调优一站式解决方案原理与实战;
第31章 Spark大数据性能调优实战专业之路。
其中,段智华根据自身多年的大数据工作经验对本书的案例等部分进行了扩展。
除上述章节外,剩余内容由夏阳、郑采翎、闫恒伟三位作者根据王家林老师的大数据授课内容而完成。