图解Spark- 核心技术与案例-实-战

所需积分/C币:5 2018-10-12 67.36MB PDF
评分

图解Spark- 核心技术与案例-实-战是一本很好的介绍spark的书籍。。看后点击无数赞才行。
内容简介 本书以 Spark2.0版本为基础进行编写,全面介绍了 Spark核心及其生态圈组件技术。主要内 容包括 Spark生态圈、实战环境搭建、编程模型和内部重要模块的分析,重点介绍了消息通信框 架、作业调度、容错执行、监控管理、存储管理以及运行框架,同时还介绍了 Spark生态圈相关 组件,包括 Spark SQL的即席查询、 Spark Streaming的实时流处理应用、 MLbase/mllib的机器学 习、 GraphX的图处理、 Spark的数学计算和 Alluxio的分布式内存文件系统等 本书从 Spark核心技术进行深入分析,重要章节会结合源代码解读其实现原理,围绕着技术 原理介绍了相关典型实例,读者通过这些实例可以更加深入地理解 Spark的运行机制。另外本书 还应用了大量的图表进行说明,让读者能够更加直观地理解 Spark相关原理 本书不仅适合大数据、 Spark从业人员阅读,同时也适合大数据爱好者、架构师和软件开发 人员阅读。通过本书,读者将能够很快地熟悉和掌握 Spark大数据分析计算的利器,在生产中解 决实际问题 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容 版权所有,侵权必究。 图书在版编目(C|P)数据 图解 Spark:核心技术与案例实战/郭景瞻编著.一北京:电子工业出版社,2017.1 ISBN978-7-121-30236-7 I.①图…Ⅱ.①郭…Ⅲ.①数据处理软件一图解Ⅳ.①TP27464 中国版本图书馆CIP数据核字(2016)第262015号 责任编辑:安娜 印刷:北京京科印刷有限公司 装订:北京京科印刷有限公司 出版发行:电子工业出版社 北京市海淀区万寿路173信箱邮编:100036 开本:787×9801/16印张:30.25字数:570千字 版次:2017年1月第1版 印次:2017年1月第1次印刷 印数:3000册定价:99.00元 凡所购买电子工业岀版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联 系,联系及邮购电话:(010)88254888,88258888。 质量投诉请发邮件至zlts(@phei.com.cn,盗版侵权举报请发邮件至dbq@phei.com.cn。 本书咨询联系方式:010-51260888819,faq(aphei.com.cn 推荐序 移动互联网的兴起把我们带入了真正的大数据时代,各大互联网公司由于服务于海量用户, 因此一般都储存了EB级的数据,而在一个典型的业务场景中,每次处理TB级的数据也是很常 见的。同时由于竞争的加剧,互联网公司对业务的要求需要不断提高质量和降低响应速度,这 就给大数据处理工具带来了非常大的挑战。目前的大数据生态圈以 Hadoop为主,在数据存储、 sQL査询引擎、分布式计算、实时处理引擎和机器学习等方向先后诞生了一系列的开源项目, 由于这些开源项目面向各自的领域,因而在设计的开发部署中,开发和运维的工程师就不得不 同时面对不同的工具和环境,无形中大大增加了公司的成本和工程师的学习门槛。 Spark就是在这样的背景下发展起来的,是目前为止唯一能够把交互式查询、实时处理、离 线处理和机器学习无缝结合在一起的大数据产品。 Spark是基于内存的计算框架,其设计非常精 巧,对于多次迭代的数据处理,例如机器学习和SQL查询,可以比 Hadoop快很多倍,所以诞 生不久即成为 Apache的顶级项目,之后更是得到众多企业和开发者的拥护。一些大的互联网公 司在过去几年虽然开发了自己的大数据处理框架,但最近几年也逐渐转向了 Spark。而对于那些 对外提供云服务的厂商, Spark更是成为一个标准配置环境,由此可见 Spark的火热程度 早期版本的 Spark实现相当精简,然而随着版本的快速迭代和功能的不断增加,其实现已 经变得相当复杂。由于分布式计算的复杂性,开发者和运维人员在实际使用过程中,经常会遇 到集群甚至 Spark本身相关的问题,在不了解工作原理的情况下很难快速定位和解决问题。本 书作者在大数据领域深研究数年,自 Spark诞生之日起就一直密切关注其发展,对其设计框架、 运行机制和对外API都有较为深入的了解。作为京东大数据平台部门,我们需要解决业务部门 在使用Spak过程中所遇到的各种复杂问题,在此过程中本书作者给予了我们莫大的帮助。 《图解 Spark:核心技术与案例实战》从生态系统讲起,先让读者对 Spark生态圈有一个大 概的了解。之后通过配置 Spark开发环境,以及一个实际的例子告诉读者如何在 Spark上快速 开发。接下来作者详细介绍了 Spark的编程模型和核心架构,这是本书的精华所在,也是真正 了解 Spark的必读内容,作者以平实的语言透彻地讲解了RDD含义、内部处理逻辑、任务执行 的调度过程以及集群中Diⅳver节点和 Worker节点之间的交互等,至此读者可以清楚了解到 Spark Ⅳ|图解 Spark:核心技术与案例实战 应用执行的完整过程。第5章详细介绍了存储原理及 Shuffle过程,对于这些内容开发者往往不 太在意,但对应用的整体性能有非常大的影响。第6章则以实际案例介绍了 Spark的多种运行 方式,读者从中可以了解到 Spark是如何与自身资源管理框架、Yam集群或者 Mesos集群进行 交互的 在对 Spark应用有了整体的认识之后,作者又分别对SQL查询、流处理、机器学习、图计 算和 Spark等核心子系统进行了深入解读,既介绍了各自的开发接口,又清楚地介绍了各个模 块之间的关系。最后特别介绍了 Alluxio,其源于Spak,可以为各种分布式系统提供抽象的文 件存储服务。 大规模机器学习专家京东大数据架构师何云龙 前言 为什么要写这本书 在过去的十几年里,随着计算机的普遍应用和互联网的普及,使得数据呈现爆发式增长, 在这个背景下, Doug Cutting在谷歌的两篇论文(GFS和 Mapreduce)的启发下开发了 Nutch 项目。2006年 Hadoop脱离了 Nutch,成为 Apache的顶级项目,带动了大数据发展的新十年。 在此期间,大数据开源产品如雨后春笋般层出不穷,特别是2009年由加州大学伯克利分校AMP 实验室开发的 Spark,它以内存迭代计算的高效和各组件所形成一站式解决平台成为这些产品的 翘楚。 Spark在2013年6月成为 Apache孵化项目,8个月后成为其顶级项目,并于2014年5月 发布了1.0版本,在2016年7月正式发布了2.0版本。在这个过程中, Spark社区不断壮大,成 为了最为活跃的大数据社区之一。作为大数据处理的“利器”, Spark在发展过程中不断地演进, 因此各个版本存在较大的差异。市面上关于 Spark的书已经不少,但是这些书所基于的 Spark 版本稍显陈旧,另外在介绍 Spark的时候,未能把原理、代码和实例相结合,于是便有了本书, 本书能够在剖析 Spark原理的同时结合实际案例,从而让读者能够更加深入理解和掌握 Spark。 在本书中,首先对 Spark的生态圈进行了介绍,讲述了 Spark的发展历程,同时也介绍 Spark 实战环境的搭建:接下来从 Spark的编程模型、作业执行、存储原理和运行架构等方面讲解了 Spark内部核心原理;最后对 Spark的各组件进行详细介绍,这些组件包括 Spark SQL的即席查 询、 Spark Streaming的实时流处理应用、 MLbase/MLlib的机器学习、 GraphX的图处理、 SparkS 的数学计算和 Alluxio的分布式内存文件系统等。 读者对象 (1)大数据爱好者 随着大数据时代的来临,无论是传统行业、T行业还是互联网等行业,都将涉及大数据技 术,本书能够帮助这些行业的大数据爱好者了解 Spark生态圈和发展演进趋势。通过本书,读 Ⅵ丨图解 Spark:核心技术与案例实战 者不仅可以了解到 Spark的特点和使用场景,而且如果希望继续深入学习 Spark知识,那么本 书也是很好的入门选择。 (2)Spak开发人员 如果要进行 Spark应用的开发,仅仅掌握 Spark基本使用方法是不够的,还需深入了解 Spark 的设计原理、架构和运行机制。本书深入浅岀地讲解了 Spark的编程模型、作业运行机制、存 储原理和运行架构等内容,通过对这些内容的学习,相信读者可以编写出更加高效的应用程序。 (3) Spark运维人员 作为一名 Spark运维人员,适当了解 Spark的设计原理、架构和运行机制对于运维工作十 分有帮助。通过对本书的学习,不仅能够更快地定位并排除故障,而且还能对 Spark运行进行 调优,让 Spark运行得更加稳定和快速。 (4)数据科学家和算法研究 随着大数据技术的发展,实时流计算、机器学习、图计算等领域成为较热门的研究方向, 而 Spark有着较为成熟的生态圈,能够一站式解决类似场景的问题。这些研究人员可以通过本 书加深对 Spark的原理和应用场景的理解,从而能够更好地利用 Spark各个组件进行数据计算 和算法实现。 内容速览 本书分为三个部分,共计12章。 第一部分为基础篇(第1-2章),介绍了 Spark诞生的背景、演进历程,以及 Spark生态圈 的组成,并详细介绍了如何搭建 Spark实战环境。通过该环境不仅可以阅读 Spark源代码,而 且可以开发 Spark应用程序。 第二部分为核心篇(第3~6章),讲解了 Spark的编程模型、核心原理、存储原理和运行架 构,在核心原理中对 Spark通信机制、作业执行原理、调度算法、容错和监控管理等进行了深 入分析,在分析原理和代码的同时结合实例进行演示。 第三部分为组件篇(第7~12章),介绍了 Spark的各个组件,包括 Spark SQL的即席查询、 Spark Streaming的实时流处理应用、 MLbase/Mllib的机器学习、 GraphX的图处理、 Sparks的 数学计算和 Alluxio的分布式内存文件系统等。 另外本书后面还包括5个附录:附录A为编译安装 Hadoop,附录B为安装 MySQL数据库, 附录C为编译安装Hive,附录D为安装 ZooKeeper,附录E为安装Kaka。由于本书篇幅有限, 因此这些内容可到我的博客(htp:// rwwcnblogs. com/shishanyuan)或博文视点网站 (www.broadview.com.cn30236)下载。 勘误和支持 由于笔者水平有限,加之编写时间跨度较长,同时 Spark演进较快,因此在编写本书的过 程中,难免会岀现错误或者不准确的地方,恳请读者批评指正。如果本书存有错误,或者您有 park的内容需要探讨,可以发送邮件到jan9834l@qq·com与我联系,期待能够得到大家的反 馈 致谢 感谢中油瑞飞公司,让我接触到大数据的世界,并在工作的过程中深入了解 Spark。感谢吴 建平、于鹏、李新宅、祝军、张文逵、马君博士、卢文君等领导同事,在本书编写过程中提供 无私的帮助和宝贵的建议。 感谢京东商城的付彩宝、沈晓凯对我的工作和该书的支持,感谢付彩宝在繁忙的工作之余 为本书写推荐,感谢京东数据挖掘架构师何云龙为本书作序,感谢大数据平台部的周龙波对该 书提出了宝贵意见。 感谢EMC常雷博士为本书审稿并写推荐。 感谢 Alluxio的CEO李浩源博士对本书的支持,感谢范斌在非常忙的工作中,抽出时间给 Alluxio章节进行了审稿并提供了很好的建议。 非常感谢我的家人对我的理解和支持,特别是在写书过程中老婆又为我们家添了一位猴宝 宝,让为我拥有一对健康可爱的儿女,这些都给了我莫大的动力,让我的努力更加有意义。 谨以此书先给我亲爱的家人,你们是我努力的源泉。 郭景瞻 016年11月 目录 第一篇基础篇 第1章 Spark及其生态圈概述 1 .1 Spark简介 1.1.1什么是 Spark 1.1.2 Spark与 Mapreduce比较 1.3 Spark的演进路线图… 1.2 Spark生态系统 1. 2.1 Spark Core............ 1. 2.2 Spark Streaming . 1. 2.3 Spark SQL.. 1. 2. 4 BlinkDB 1. 2.5 MLBaseMLlib................. 12 1. 2.6 GraphX .12 1.2.7 Sparks............... 1. 2. 8 Alluxio 14 1.3小结 15 第2章搭建 Spark实战环境. 16 2.1基础环境搭建 16 2.1.1搭建集群样板机… 17 2.1.2配置集群环境 22 2.2编译 Spark源代码 25 2.2.1配置Spak编译环境 2.2.2使用 Maven编译 Spark 27 2.2.3使用SBT编译 Spark 29 224生成Spak部署包…… 30 2.3搭建 Spark运行集群…… ““““““ 31 X|图解 Spark:核心技术与案例实战 2.3.1修改配置文件…… 2.32启动 Spark 3 2.3.3验证启动… 33 2.3.4第一个实例 24搭建 Spark实战开发环境 35 2.4. 1 CentoS中部署IDEA… “+ 36 24.2使用IDEA开发程序 24.3使用IDEA阅读源代码……12 2.5小结 44 47 第二篇核心篇 第3章 Spark编程模型…. 48 3.1RDD概述 3.1.1背景 48 3.12RDD简介 49 3.1.3RDD的类型 50 3.2RDD的实现… 4 .51 3.2.1作业调度 3.2.2解析器集成 52 3.23内存管理 3.2.4检查点支持 54 3.2.5多用户管理 54 3.3编程接口 55 3.31RDD分区( Partitions) 5 3.3.2RDD首选位置( PreferredLocations) 56 3.33RDD依赖关系( Dependencies 6 3.34RDD分区计算( Iterator) 58 3.3.5RDD分区函数( Partitioner) 58 34创建操作 59 3.4.1并行化集合创建操作 59 3.4.2外部存储创建操作 .61 3.5转换操作 63 3.5.1基础转换操作 .63

...展开详情
立即下载 最低0.43元/次 身份认证VIP会员低至7折
举报 举报 收藏 收藏
分享
img
xxh2002

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐