Spark编程基础(Python版)教材官网

Spark编程基础(Python版)教材官网

厦门大学 林子雨,郑海山,赖永炫  编著

林子雨(ziyulin@xmu.edu.cn)

披荆斩棘,在大数据丛林中开辟学习捷径

填沟削坎,为快速学习Spark技术铺平道路

深入浅出,有效降低Spark技术学习门槛

资源全面,构建全方位一站式在线服务体系

本教材预计在2019年8月上市销售


 本页面内容导航

 教程简介 | 实验指南 下载专区 | 教材所有命令行和代码 | 教材目录先修课程 | 在线教程

讲义PPT | 每个章节配套上机实验题目综合案例大数据课程公共服务平台  |  教材勘误 | 大事记联系人


扫一扫访问本网页

教材简介

本书《Spark编程基础(Python版)》属于“进阶级”大数据课程,在学习本教程之前,建议首先学习入门级大数据课程《大数据技术原理与应用(第2版)》(教材官网)。《Spark编程基础(Python版)》和《大数据技术原理与应用(第2版)》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。

本书以Python作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming、Spark MLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、上机实验指南等。

本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。

作者简介

《Spark编程基础(Python版)》由林子雨、郑海山、赖永炫执笔,其中,林子雨负责教材规划、统稿、校对和在线资源创作,并撰写第1、2、3、4、5、6章的内容,郑海山负责第7章内容的撰写,赖永炫负责撰写第8章的内容。

林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的教学和科研资料,累计网络访问量超过500万次。主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度和2017年度厦门大学教学类奖教金获得者。点击这里访问林子雨个人主页

郑海山(1979-),男,硕士,厦门大学信息与网络中心高级工程师,个人主页 https://dog.xmu.edu.cn,微信公众号“郑海山dump”。2001年本科毕业于厦门大学信息科学与技术学院计算机系,2011年毕业于厦门大学信息科学与技术学院计算机系,获在职硕士学位。研究方向是信息化、数据中心、网络空间安全等。近年来主持过省部级课题2项,参与国家及省部级课题多项,发表科研论文10余篇,拥有多项软件著作权,获得过厦门大学奖教金和多项校级奖。

赖永炫(1981-),男,博士,厦门大学软件学院副教授,厦门大学移动与数据分析(MOCOM)实验室负责人(主页),福建省人工智能学会理事。2004年毕业于中国人民大学信息管理系,2009年毕业于中国人民大学计算机系,获工学博士学位。研究方向是网络数据管理,车载网络,大数据分析和管理等。近年来主持过国家科技支撑计划课题1项,国家自然科学基金2项,参与国家及省部级课题10余项。发表高水平科研论文20余篇,并担任多个国际期刊和会议的审稿人。获得过厦门大学厦航奖教金,厦门大学第八届青年教师教学技能比赛一等奖,厦门大学高等教育教学成果二等奖。

Scala版教程

(1)在线教程

为了确保教程质量,在编著出版纸质教材之前,厦门大学数据库实验室已经于2016年10月通过实验室官网免费发布共享了简化版的《Spark在线教程》(访问)和相关教学资源,同时,该在线教程也已经用于厦门大学计算机科学系研究生的大数据课程教学,并成为全国高校大数据课程教师培训交流班的授课内容。实验室根据读者对在线Spark教程的大量反馈意见以及教学实践中发现的问题,对Spark在线教程进行了多次修正和完善,所有这些前期准备工作,都为纸质教材的编著出版打下了坚实的基础。

子雨大数据之Spark入门

点击这里访问在线版本的Spark入门教程

问:在线版本的《Spark入门教程》和出版发行的纸质教材《Spark编程基础(Scala版)》二者的区别是什么?

答:在线版本的《Spark入门教程》属于简化版的Spark教材,旨在帮助读者快速学习Spark技术,里面内容的写作方式会更加口语化,偏向于博客的风格。出版发行的纸质教材《Spark编程基础(Scala版)》,则是完全从高校专业课教材的角度进行创作,在知识架构和内容编排上,严格按照教材的高标准和高要求来进行,强调前后文高度的逻辑相关性,全书内容的整体协调性,以及文字表述的精准清晰性。因此,纸质教材比在线版本的质量,有了本质的大幅度提升。可以说,在线版本只是在写作纸质教材之前的准备工作,为纸质教材提供了蓝本。本书作者林子雨、赖永炫和陶继平三位老师,在完成在线版本创作以后,又进行了系统深入的调研和学习并反复实践,最终,撰写了纸质教材用于高校教学。

需要注意的是,在线版本中也包含了一些纸质教材中没有的内容,因为这些操作实践的内容比较琐碎,因此,没有放入纸质教材,所以,读者阅读在线版本仍然会有新的收获。总体而言,在线版本和纸质教材二者配合使用,效果更好。

(2)授课视频(Scala版)

厦门大学林子雨老师主讲《Spark编程基础(Scala版)》课程视频(观看),根据2017年春季学期林子雨老师给厦门大学计算机系2017级硕士研究生主讲《大数据处理技术Spark》课程的现场音频,进行后期制作合成视频。

实验指南

章节 实验操作名称 访问网页
第1章 大数据技术概述 在Windows中使用VirtualBox安装Ubuntu 查看
第1章 大数据技术概述 Linux系统的常用命令 查看
第1章 大数据技术概述 在Windows系统中利用FTP软件向Ubuntu系统上传文件 查看
第3章 Spark环境搭建和使用方法 Linux系统的安装 查看
第3章 Spark环境搭建和使用方法 Linux系统中Java的安装 查看
第3章 Spark环境搭建和使用方法 Linux系统中下载安装文件和解压缩方法 查看
第3章 Spark环境搭建和使用方法 Linux系统中vim编辑器的安装和使用方法 查看
第3章 Spark环境搭建和使用方法 Hadoop的安装和使用 查看
第3章 Spark环境搭建和使用方法 使用开发工具Pycharm 编写Spark应用程序 查看
第3章 Spark环境搭建和使用方法 使用开发工具Visual Studio Code 编写Spark应用程序 查看
 第4章 Spark环境搭建和使用方法  Hadoop集群安装配置方法 查看
第4章 Spark环境搭建和使用方法 HDFS操作常用Shell命令 查看
第5章 RDD编程 HBase的安装 查看
第6章 Spark SQL 在Ubuntu中安装MySQL 查看

下载专区

 

每个章节配套实验题目和答案

纸质教材《Spark编程基础(Python版)》的每个章节(除了第3章 Spark的设计与运行原理)末尾都配套了学生上机实验题目,每套实验题目可以满足1次上机实验室(比如连续4节课机房统一上机实验课)的要求,旨在帮助学生更好消化理解课堂内容。

访问教材官网“下载专区”的“实验答案”目录,可以找到教材7个配套实验的题目和答案PDF文件。下面是7个实验一览表。

章节 实验
第1章 大数据技术概述 实验1-Linux系统的安装和常用命令
第2章 Spark的设计与运行原理 无实验
第3章 Spark环境搭建和使用方法 实验2-Spark和Hadoop的安装
第4章 RDD编程 实验3-RDD编程初级实践
第5章 Spark SQL 实验4-Spark SQL编程初级实践
第6章 Spark Streaming 实验5-Spark Streaming编程初级实践
第7章 Structured Streaming 实验6-Structured Streaming编程实践
第8章 Spark MLlib 实验7-Spark机器学习库MLlib编程实践

 

先修课程(建议学习,不是必须)

Spark作为大数据进阶课程,在学习过程中会涉及大量相关的大数据基础知识以及各种大数据软件的安装和使用方法,包括Hadoop、HDFS、MapReduce、HBase、Hive等,只有具备这些入门级的大数据基础知识,才能够比较顺利地完成Spark课程的学习。因此,如果读者之前没有学习过这些基础知识,建议先学习《大数据技术原理与应用》教材(官网),并观看与该教材配套的授课视频《大数据技术原理与应用》(观看)。《Spark编程基础》和《大数据技术原理与应用》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。

当然,不事先学习《大数据技术原理与应用》,也可以直接学习《Spark编程基础》,因为,《Spark编程基础》教程中,在每个章节中,对于读者可能遇到的“基础知识障碍”,都有给出某个具体知识点的相关链接(比如,在讲解Spark安装时,需要首先安装Hadoop,但是,读者可能不会安装Hadoop,这时,读者就可以访问教程中的“Hadoop的安装和使用”这个知识点链接,就可以顺利完成Hadoop的安装,跨过学习的障碍),读者只要按照链接进行有针对性的补充学习即可,不需要学习全部的《大数据技术原理与应用》知识。

同时,厦门大学数据库实验室为《大数据技术原理应用》教材编写了配套的实验指导书《大数据基础编程、实验和案例教程》(官网),该实验指导书侧重于介绍大数据软件的安装、使用和基础编程方法,并提供了丰富的实验和案例。

课程图片

点击这里观看在线视频

大数据课程公共服务平台

Spark作为大数据进阶课程,在学习过程中会涉及大量相关的大数据基础知识以及各种大数据软件的安装和使用方法,因此,推荐读者访问大数据课程公共服务平台(访问),来获得必要的辅助学习内容。

厦门大学数据库实验室建设了国内高校首个大数据课程公共服务平台(访问),为全国高校教师和学生提供大数据教学资源一站式“免费”在线服务,包括课程教材、讲义PPT、课程习题、实验指南、学习指南、备课指南、授课视频和技术资料等,自2013年5月建设以来,定位明确,进展顺利,目前平台每年访问量超过100万次,成为全国高校大数据教学知名品牌。

教材勘误

在教材使用过程中,如发现任何错误,欢迎联系教材作者林子雨:ziyulin@xmu.edu.cn。在此向读者表示衷心的感谢!

大事记

*2016年10月,林子雨编写的《Spark入门教程(Scala版)》在线教程正式上线。

*2017年12,由厦门大学数据库实验室根据《Spark入门教程(Scala版)》改编的《Spark入门教程(Python版)》正式上线。

*2019年1月,由林子雨、郑海山、赖永炫编著的《Spark编程基础(Python版)》纸质教材书稿完成撰写,提交给人民邮电出版社出版。

联系人

欢迎联系教材作者林子雨:ziyulin@xmu.edu.cn