本书内容
在大数据和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.MLib、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月于美国硅谷