首页 > 图书中心 >图书详情
Spark基础编程
作者:曹如军
丛书名:大数据与人工智能技术丛书
定价:45元
印次:1-1
ISBN:9787302644668
出版日期:2024.02.01
印刷日期:2024.02.02
主要内容包括,大数据技术概述(或背景知识),Scala基础知识,Spark基础,RDD编程,Spark SQL开发,Spark Streaming / Structured Streaming编程,MLLib 机器学习编程等基础内容。 主要作为本科生数据科学与大数据技术、计算机科学与技术等相关专业必修或选修课程教科书,或作为相关工程技术人员的参考书。 本教材基于Spark 3.3.x等新版本所带来的开发方式、方法的变化,从工业、服务业等行业实际应用开发的角度,介绍Spark开发的基础知识,开发过程中的注意事项,并提供合理建议,从而引导学习过程更贴近大数据开发实际。 除了不同于其他教材所讲解的内容基础未基于新的软件产品或平台外,本教程更是从工业、服务行业大数据开发实际需求出发,引导学习者养成良好的开发习惯,为高效率地解决实际问题打开坚实基础。
more >前言 党的二十大报告中指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,这三大战略共同服务于创新型国家的建设。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。 当前正处于大数据时代。数据已经渗透到当今的各个行业、各个领域,成为重要的生产要素。大数据已成为近年来最热门的技术趋势之一。大数据技术相关领域获得的投资呈爆炸式增长,一些与大数据有关的项目也成为最活跃的开源项目。Apache Spark就是其中的优秀代表之一。 本书作为Spark应用开发的基础指导书,尽力将一些复杂的、难以理解的概念、原理直观化、简单化,让刚刚接触大数据开发的读者能够轻松理解并快速掌握。针对Spark应用开发中最常用、最重要的知识点,本书从工程实践的角度进行深入分析,引导读者结合实际,从解决大数据应用场景实际问题的角度,用简单、直接、高效的(思想)方法或工具解决具体问题。另外,结合作者多年的程序开发经验,本书也对Spark应用开发中的注意事项给出了合理的建议。这些内容主要以提示、建议或注意等形式呈现。这些中肯建议不仅对Spark应用开发有一定参考价值,对其他类似项目的实际开发也有借鉴意义。 由于大数据相关技术、软件平台等更新迭代较快,因此本书在介绍相关内容时,尽量选择较新的软件版本。本书所介绍的Spark API基于Spark 3.3.x,相较于Spark 2.x或其他更早版本,部分API有更新,请读者注意版本变化带来的差异。开发Spark的主要编程语言Scala,经过多年发展已经迭代更新了若干不同版本,其中不少版本存在一定的兼容性问题,也请读者注意。截至本书成稿时,Spark尚未发行基于Scala 3.x的版本。因此,本书选用了相对较新又相对成熟稳定的Scala 2.13.x版本(Spark3.3.xScala2.13.x)。关于Spark(或Scala)的运行环境JVM,本书也选用较新的长期支持版Java 17。另外,本书中涉及的其他软件,基本是成稿时最(较)新的稳定版本,如Hadoop 3.3.4、Kafka 3.3.1等。 Spark提供了Scala、Java、Python、R等编程语言的API。相对而言,基于Scala的API开发,代码的执行效率更高,并且学习过程相对容易,代码工作量也相对较少。由于Scala编程语言的用户群体数量少于C、C++、Java、Python等语言,所以本书介绍了Scala基础知识,以便读者能快速理解后续的Spark开发过程或示例代码。 本书为Spark应用开发提供编程指导,涉及的主要内容包括Spark开发基础知识、RDD编程、SQL编程、Streaming开发及机器学习开发等。Spark官方指南推荐的开发接口是基于Spark SQL引擎的Dataset/DataFrame API,而基于RDD的API大多处于维护模式(不添加新功能),但RDD的概念对理解Spark的构架体系、理解Spark的优化过程等都很有帮助,因此本书也包括了RDD开发的部分内容。限于篇幅,本书不包括Spark图处理算法GraphX开发的部分内容,有需要的读者请参考其他相关资料。 在阅读本书之前,如果有一定的大数据基础知识(如了解一些基本概念和技术,了解部分大数据软件或框架),那么对阅读本书是有帮助的; 同时,一定的编程基础(如Java、C/C++编程知识)也有助于Spark编程的实践过程。本书作为Spark编程的基础指导书,尽量保持内容的自洽性,即使没有前述的相关知识,也可以顺利完成本书内容的阅读。 Spark应用开发作为一项编程实践活动,建议读者在阅读本书的过程中一定要亲自动手实践。如果在实践过程中遇到困难,建议多查文档、多读资料,分析问题发生的原因,从表象溯本原,然后亲自动手解决问题。当前网络上的各类资源非常多,良莠不齐,建议读者基于问题表象去阅读官方用户手册或指南。作为优秀开源项目,Spark(及类似项目,如Kafka等)的文档资料非常全面、翔实(但没有中文版手册),也非常容易获得(随时在线,联网即可访问)。本书配套的数据、示例代码、教学大纲等可以扫描下方二维码下载。 最后,希望本书对读者学习Spark应用开发有所帮助,并恳请读者对书中存在的错误或疏漏予以批评指正,也欢迎读者对本书或大数据开发等有关内容与作者交流、讨论。 曹如军 2023年10月 教学大纲 源码
more >