《Spark编程基础(Scala版 第2版)》教材官网
厦门大学 林子雨,赖永炫,陶继平 编著
联系人:林子雨(ziyulin@xmu.edu.cn)
披荆斩棘,在大数据丛林中开辟学习捷径
填沟削坎,为快速学习Spark技术铺平道路
深入浅出,有效降低Spark技术学习门槛
资源全面,构建全方位一站式在线服务体系
人民邮电出版社 ISBN:978-7-115-59501-0 定价:65元 2022年12月第2版
教材配套MOOC课程荣获2023年国家级线上一流本科课程
访问另外一本教材《Spark编程基础(Python版,第2版)》教材官网
扫一扫访问本网页
教材简介
本书以Scala作为开发Spark应用程序的编程语言,系统地介绍了Spark编程的基础知识。全书共9章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming和Spark MLlib。
本书每章都安排了入门级的编程实践操作,以便使读者能更好地学习和更牢固地掌握Spark编程方法。本书配套官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。
教材目录
下载专区
“下载专区”所有资源全部放在百度网盘中,需要在电脑上安装百度网盘客户端,才能顺利下载内容。百度网盘提供了精美版讲义PPT(夏小云老师制作)、教学大纲、教学进度表、软件、代码、实验答案等教学资源的下载。请点击这里访问百度网盘(提取码是ziyu)。
授课视频
由林子雨老师主讲的《Spark编程基础(Scala版 第2版)》授课视频已经于2023年1月发布到哔哩哔哩网站,欢迎点击这里观看。
章节 | 实验操作名称 | 访问网页 |
第1章 大数据技术概述 | 在Windows中使用VirtualBox安装Ubuntu | 查看 |
第1章 大数据技术概述 | Linux系统的常用命令 | 查看 |
第1章 大数据技术概述 | 在Windows系统中利用FTP软件向Ubuntu系统上传文件 | 查看 |
第2章 Scala语言基础 | Linux系统的安装 | 查看 |
第2章 Scala语言基础 | Linux系统中Java的安装 | 查看 |
第2章 Scala语言基础 | Linux系统中下载安装文件和解压缩方法 | 查看 |
第2章 Scala语言基础 | Linux系统中vim编辑器的安装和使用方法 | 查看 |
第4章 Spark环境搭建和使用方法 | Hadoop的安装和使用 | 查看 |
第4章 Spark环境搭建和使用方法 | 使用IntelliJ IDEA编写Spark应用程序(Scala+Maven) | 查看 |
第4章 Spark环境搭建和使用方法 | 使用Intellij Idea编写Spark应用程序(Scala+SBT) | 查看 |
第4章 Spark环境搭建和使用方法 | 使用Eclipse编写Spark应用程序(Scala+Maven) | 查看 |
第4章 Spark环境搭建和使用方法 | 使用Eclipse编写Spark应用程序(Scala+SBT) | 查看 |
第4章 Spark环境搭建和使用方法 | Hadoop集群安装配置方法 | 查看 |
第4章 Spark环境搭建和使用方法 | HDFS操作常用Shell命令 | 查看 |
第6章 Spark SQL | 在Ubuntu中安装MySQL | 查看 |
第7章 Spark Streaming | Kafka的安装和使用方法 | 查看 |
第7章 Spark Streaming | 使用Kafka作为Spark的数据源 | 查看 |
第8章 Structured Streaming | Kafka和Structured Streaming的组合使用 | 查看 |
每个章节配套实验题目和答案
纸质教材《Spark编程基础(Scala版 第2版)》的每个章节(除了第3章 Spark的设计与运行原理)末尾都配套了学生上机实验题目,每套实验题目可以满足1次上机实验室(比如连续4节课机房统一上机实验课)的要求,旨在帮助学生更好消化理解课堂内容。
请点击这里访问百度网盘(提取码是ziyu)。访问“实验答案”目录,可以找到教材8个配套实验的题目和答案PDF文件。下面是8个实验一览表。
章节 | 实验 |
第1章 大数据技术概述 | 实验1-Linux系统的安装和常用命令 |
第2章 Scala语言基础 | 实验2-Scala编程初级实践 |
第3章 Spark的设计与运行原理 | 无实验 |
第4章 Spark环境搭建和使用方法 | 实验3-Spark和Hadoop的安装 |
第5章 RDD编程 | 实验4-RDD编程初级实践 |
第6章 Spark SQL | 实验5-Spark SQL编程初级实践 |
第7章 Spark Streaming | 实验6-Spark Streaming编程初级实践 |
第8章 Structured Streaming | 实验7-Structured Streaming初级编程实践 |
第9章 Spark MLlib | 实验8-Spark机器学习库MLlib编程实践 |
除了教材中配套的(出现在纸质教材中)的上述7套题目以外,老师在上课过程中,还可以根据情况增加以下题目作为学生上机练习:
章节 | 上机练习 |
第5章 RDD编程 | 统计人口平均年龄 |
第5章 RDD编程 | 统计人口性别和身高 |
第5章 RDD编程 | 统计微博信息 |
(1)案例1:淘宝双11数据分析与预测(访问案例主页)
本案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。
(2)案例2:Spark+Kafka构建实时分析Dashboard(访问案例主页)
本案例涉及数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程所涉及的各种典型操作,涵盖Linux、Spark、Kafka、Flask、Flask-SocketIO、Highcharts.js、sockert.io.js、PyCharm等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。
(3)基于Scala语言的Spark数据处理分析案例集锦
先修课程(建议学习,不是必须)
Spark作为大数据进阶课程,在学习过程中会涉及大量相关的大数据基础知识以及各种大数据软件的安装和使用方法,包括Hadoop、HDFS、MapReduce、HBase、Hive等,只有具备这些入门级的大数据基础知识,才能够比较顺利地完成Spark课程的学习。因此,如果读者之前没有学习过这些基础知识,建议先学习《大数据技术原理与应用(第3版))》教材(官网),并观看与该教材配套的授课视频《大数据技术原理与应用》(观看)。《Spark编程基础(Scala版 第2版)》和《大数据技术原理与应用(第3版)》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。
当然,不事先学习《大数据技术原理与应用(第3版)》,也可以直接学习《Spark编程基础(Scala版 第2版)》,因为,《Spark编程基础(Scala版 第2版)》教程中,在每个章节中,对于读者可能遇到的“基础知识障碍”,都有给出某个具体知识点的相关链接(比如,在讲解Spark安装时,需要首先安装Hadoop,但是,读者可能不会安装Hadoop,这时,读者就可以访问教程中的“Hadoop的安装和使用”这个知识点链接,就可以顺利完成Hadoop的安装,跨过学习的障碍),读者只要按照链接进行有针对性的补充学习即可,不需要学习全部的《大数据技术原理与应用》知识。
同时,厦门大学数据库实验室为《大数据技术原理应用(第3版)》教材编写了配套的实验指导书《大数据基础编程、实验和案例教程(第2版)》(备注:不是第3版,是第2版)(官网),该实验指导书侧重于介绍大数据软件的安装、使用和基础编程方法,并提供了丰富的实验和案例。
作者简介
《Spark编程基础(Scala版 第2版)》由林子雨、赖永炫和陶继平执笔,其中,林子雨负责教材规划、统稿、校对和在线资源创作,并撰写第1、3、4、5、6、7、8章的内容,赖永炫负责撰写第9章的内容,陶继平负责撰写第2章的内容。
林子雨,男,1978年出生,博士(毕业于北京大学),全国高校知名大数据教师,入选”2021年高校计算机专业优秀教师奖励计划“,现为厦门大学计算机科学与技术系副教授,厦门大学信息学院实验教学中心主任。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度、2017年度和2020年度厦门大学教学类奖教金获得者,荣获2019年福建省精品在线开放课程、2022年福建省高等教育教学成果奖特等奖、2018年福建省高等教育教学成果奖二等奖、2018年国家精品在线开放课程、2020年国家级线上一流本科课程。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目,同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的研究和教学资料,累计网络访问量超过2000万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,年访问量超过400万次,累计访问量超过2000万次。点击这里访问林子雨个人主页。
赖永炫(1981-),男,博士,厦门大学信息学院教授,厦门大学移动与数据分析(MOCOM)实验室负责人(主页),福建省人工智能学会理事。2004年毕业于中国人民大学信息管理系,2009年毕业于中国人民大学计算机系,获工学博士学位。研究方向是网络数据管理,车载网络,大数据分析和管理等。近年来主持过国家科技支撑计划课题1项,国家自然科学基金2项,参与国家及省部级课题10余项。发表高水平科研论文20余篇,并担任多个国际期刊和会议的审稿人。获得过厦门大学厦航奖教金,厦门大学第八届青年教师教学技能比赛一等奖,厦门大学高等教育教学成果二等奖。
陶继平,男,1980年出生,博士。2010年毕业于上海交通大学控制科学与工程专业,获得工学博士学位。现任厦门大学自动化系副教授,厦门市物流协会信息化专业委员会委员,曾为厦门大学云计算与大数据研究中心主要建设者和骨干成员。主要研究兴趣包括运筹与优化算法理论及其在生产调度、多机器人规划、云计算、大数据分析等方面的应用。作为项目负责人主持1项国家自然科学青年基金项目(No. 11201391),已发表学术论文20多篇。作为主要参与人参与了国家自然科学基金、福建省自然科学基金等国家及省部级课题6项。