访问最新的《Spark编程基础(Python版,第2版)》教材官网
Spark编程基础(Python版)教材官网
厦门大学 林子雨,郑海山,赖永炫 编著
林子雨(ziyulin@xmu.edu.cn)
披荆斩棘,在大数据丛林中开辟学习捷径
填沟削坎,为快速学习Spark技术铺平道路
深入浅出,有效降低Spark技术学习门槛
资源全面,构建全方位一站式在线服务体系
本教材已经上市销售,可以京东、当当网购
ISBN:978-7-115-52439-3 定价:49.80元 人民邮电出版社
2020年4月第1版
(备注:第2版教材书稿已经提交给出版社,预计2024年6月上市销售)
本页面内容导航
教程简介 | 实验指南 | 下载专区 | 教材所有命令行和代码 | 教材目录 | 先修课程 | 在线教程 | 授课视频 | 样书申请
讲义PPT | 每个章节配套上机实验题目 | 综合案例 | 大数据课程公共服务平台 | 教材勘误 | 大事记 | 联系人
扫一扫访问本网页
《Spark编程基础(Python版)》
ISBN:978-7-115-52439-3 定价:49.80元 人民邮电出版社
申请样书
如果您是高校教师,可以点击这里申请样书。
教材简介
本书《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年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的教学和科研资料,累计网络访问量超过1000万次。主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度、2017年度和2020年度厦门大学教学类奖教金获得者。主讲的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”和“2019年福建省精品在线开放课程”。点击这里访问林子雨个人主页。
郑海山(1979-),男,硕士,厦门大学信息与网络中心高级工程师,个人主页 https://dog.xmu.edu.cn,微信公众号“郑海山dump”。2001年本科毕业于厦门大学信息科学与技术学院计算机系,2011年毕业于厦门大学信息科学与技术学院计算机系,获在职硕士学位。研究方向是信息化、数据中心、网络空间安全等。近年来主持过省部级课题2项,参与国家及省部级课题多项,发表科研论文10余篇,拥有多项软件著作权,获得过厦门大学奖教金和多项校级奖。
赖永炫(1981-),男,博士,厦门大学信息学院教授,厦门大学移动与数据分析(MOCOM)实验室负责人(主页),福建省人工智能学会理事。2004年毕业于中国人民大学信息管理系,2009年毕业于中国人民大学计算机系,获工学博士学位。研究方向是网络数据管理,车载网络,大数据分析和管理等。近年来主持过国家科技支撑计划课题1项,国家自然科学基金2项,参与国家及省部级课题10余项。发表高水平科研论文20余篇,并担任多个国际期刊和会议的审稿人。获得过厦门大学厦航奖教金,厦门大学第八届青年教师教学技能比赛一等奖,厦门大学高等教育教学成果二等奖。
授课视频
热烈祝贺实验室最新录制的MOOC视频《Spark编程基础(Python版)》在网易云课堂上线(观看地址)。该课程由国内高校知名大数据教师厦门大学林子雨老师主讲,由厦门大学数据库实验室团队提供配套课程服务。该课程属于“进阶级”大数据课程,需要读者已经学习过大数据导论课程,了解Hadoop、MapReduce、HDFS、HBase等大数据基础知识。如果没有学习过大数据导论课程,建议读者先在网易云课堂学习林子雨老师主讲的大数据入门课程《大数据技术原理与应用》。该课程以Python作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。课程共8章。
第1章 大数据技术概述
第2章 Spark的设计与运行原理
第3章 Spark环境搭建和使用方法
第4章 RDD编程
第5章 Spark SQL
第6章 Spark Streaming
第7章 Structured Streaming
第8章 Spark MLlib
Scala版教程
(1)在线教程
为了确保教程质量,在编著出版纸质教材之前,厦门大学数据库实验室已经于2016年10月通过实验室官网免费发布共享了简化版的《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应用程序 | 查看 |
第3章 Spark环境搭建和使用方法 | Hadoop集群安装配置方法 | 查看 |
第3章 Spark环境搭建和使用方法 | HDFS操作常用Shell命令 | 查看 |
第4章 RDD编程 | HBase的安装 | 查看 |
第5章 Spark SQL | 在Ubuntu中安装MySQL | 查看 |
第6章 Spark Streaming | Kafka的安装和使用方法 | 查看 |
第6章 Spark Streaming | 日志采集工具Flume的安装与使用方法 | 查看 |
下载专区
版权声明:本站对站内所有资源拥有版权,严禁用于商业用途,侵权必究
“下载专区”所有资源全部放在百度云盘中,需要在电脑上安装百度云盘客户端,才能顺利下载内容,请点击这里访问百度云盘。(提取码是qdm4)
“下载专区”栏目提供了本教程内各个章节所涉及到的源代码、软件、数据集、讲义PPT和教学大纲的下载,为了方便读者查找相关软件和代码,
纸质教材《Spark编程基础(Python版)》的每个章节(除了第3章 Spark的设计与运行原理)末尾都配套了学生上机实验题目,每套实验题目可以满足1次上机实验室(比如连续4节课机房统一上机实验课)的要求,旨在帮助学生更好消化理解课堂内容。下面是7个实验一览表。
请点击这里访问百度云盘。(提取码是qdm4),进入百度云盘以后,里面有个“实验答案”目录,进去就可以下载答案。
版权声明:本站对站内所有资源拥有版权,严禁用于商业用途,侵权必究
章节 | 实验 |
第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编程实践 |
综合案例
(1)案例1:Spark+Kafka构建实时分析Dashboard(访问案例主页)
本案例涉及数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程所涉及的各种典型操作,涵盖Linux、Spark、Kafka、Flask、Flask-SocketIO、Highcharts.js、sockert.io.js、PyCharm等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。
(2)案例2:淘宝双11数据分析与预测(访问案例主页)
本案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。
(3)案例3:厦门租房信息分析展示(访问案例主页)
本案例将实现一个系列程序,从厦门小鱼网爬取租房租金信息,然后利用spark的python版本进行简单分析,并利用echarts的python版本展示分析结果,此外还会简单介绍pycharm的工程建立,所以本篇将分为四个部分。
(4)案例4:基于 TMDB 数据集的电影数据分析(访问案例主页)
本案例采用TMDB数据集,并使用Python语言编写Spark应用程序对电影数据进行各种分析。
(5)案例5:基于YELP数据集的商业数据分析(访问案例主页)
本实验采用Python语言,使用大数据处理框架Spark对数据进行处理分析,并对分析结果进行可视化。
(6)案例6:2020年美国新冠肺炎疫情数据分析(访问案例主页)
本案例以2020年美国新冠肺炎疫情数据作为数据集,以Python为编程语言,使用Spark对数据进行分析,并对分析结果进行可视化。
(7)案例7:基于零售交易数据的Spark数据处理与分析(访问案例主页)
本案例数据集是来自Kaggle的一个跨国在线零售业务的交易数据,采用Python为编程语言,采用Hadoop存储数据,采用Spark对数据进行处理分析,并使用Echarts做数据可视化。
(8)案例8:基于地震数据的Spark数据处理与分析(访问案例主页)
本案例针对全球重大地震数据进行分析,采用Python为编程语言,采用Hadoop存储数据,采用Spark对数据进行处理分析,并对结果进行数据可视化。
(9)案例9:基于信用卡逾期数据的Spark数据处理与分析(访问案例主页)
本案例以和鲸社区的信用卡评分模型构建数据为数据集,以Python为编程语言,使用大数据框架Spark对数据进行处理分析,并对分析结果进行可视化。
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版)》纸质教材书稿完成撰写,提交给人民邮电出版社出版。
*2019年11月,人民邮电出版社返回教材清样,作者进行最后校对交付给出版社,等待教材最后出版。
*2020年4月,教材正式出版发行。
欢迎联系教材作者林子雨:ziyulin@xmu.edu.cn