Spark编程基础(Python版,第2版)教材官网
厦门大学 林子雨,郑海山,赖永炫 编著
林子雨(ziyulin@xmu.edu.cn)
披荆斩棘,在大数据丛林中开辟学习捷径
填沟削坎,为快速学习Spark技术铺平道路
深入浅出,有效降低Spark技术学习门槛
资源全面,构建全方位一站式在线服务体系
访问另外一本教材《Spark编程基础(Scala版,第2版)》官网
ISBN:978-7-115-64403-9 定价:69.80元 人民邮电出版社
2024年7月第2版
扫一扫访问本网页
Spark编程基础(Python版 第2版)
林子雨 主编,郑海山,赖永炫 副主编
(ISBN:978-7-115-64403-9,定价:69.8元 人民邮电出版社 2024年7月第2版)
样书申请
如果您是高校教师,可以扫描下面二维码申请样书:
扫码申请样书
下载专区
下载专区提供了与教材配套的各种资料的下载,包括讲义PPT(最新版本)、教学大纲、软件、数据集、代码、上机实验、虚拟机镜像(包含单机模式和集群模式)等。可以直接访问百度网盘地址:https://pan.baidu.com/s/11pS4ksJvEr6CnyjA-abWQw?pwd=ziyu
提取码:ziyu
教材中的代码
查看教材中的所有命令行和代码,可以直接复制粘贴运行。
教材简介
本书《Spark编程基础(Python版,第2版)》属于“进阶级”大数据课程,在学习本教程之前,建议首先学习入门级大数据课程《大数据技术原理与应用(第4版)》(教材官网)。《Spark编程基础(Python版,第2版)》和《大数据技术原理与应用(第4版)》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。
本书以Python作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共9章,内容包括大数据技术概述、Spark的设计与运行原理、大数据实验环境搭建、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming、Spark MLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、上机实验指南等。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。
教材目录
查看《Spark编程基础(Python版 第2版)》教材目录。
作者简介
《Spark编程基础(Python版,第2版)》由林子雨、郑海山、赖永炫执笔,其中,林子雨负责教材规划、统稿、校对和在线资源创作,并撰写第1、2、3、4、5、6、7章的内容,郑海山负责第8章内容的撰写,赖永炫负责撰写第9章的内容。
林子雨(1978-),男,博士(毕业于北京大学),国内高校知名大数据教师,厦门大学计算机科学与技术系副教授,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,全国工业大数据行业产教融合共同体特聘专家,入选“2021年高校计算机专业优秀教师奖励计划”,荣获“2022年福建省高等教育教学成果奖特等奖(个人排名第一)”和“2018年福建省高等教育教学成果奖二等奖(个人排名第一)”,编著出版13本大数据系列教材,被国内500多所高校采用,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过2500万次,成为全国高校大数据教学知名品牌,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”,主持的课程《Spark编程基础》获评“2021年国家级线上一流本科课程”。建设的大数据系列MOOC课程入选“2023年教育部国家智慧教育公共服务平台应用典型案例”。
慕课视频
厦门大学林子雨副教授主讲《Spark编程基础(Python版,第2版)》授课视频,请到B站观看。
综合案例
(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对数据进行处理分析,并对分析结果进行可视化。
(10)案例10:基于Spark的NBA球员数据分析(访问案例主页)
本案例采用Python语言,针对NBA球员数据集,使用大数据处理框架Spark对数据进行处理分析,并对分析结果进行可视化。
(11)案例11:基于英国航空公司客户反馈数据的PySpark数据处理与分析(访问案例主页)
本案例旨在对英国航空的客户反馈数据进行深入研究。通过应用先进的大数据处理框架,如 Spark 和 Hadoop,以及强大的数据可视化技术,将对这些数据进行高效的存储、处理和分析。此外,还将利用机器学习算法,预测乘客对英国航空的总体评分。
(12)案例12:基于Spark的中风数据处理与分析(访问案例主页)
根据世界卫生组织 (WHO) 的数据,中风是全球第二大死亡原因,约占总死亡人数的 11%。因此,通过数据分析和预测模型进行中风的早期预警和预防具有重要的公共卫生意义。本案例对中风数据集进行数据清理、处理和分析,并且通过特征工程和机器学习模型提升中风预测的准确性,最后总结并可视化数据分析的过程和结果。
(13)案例13:基于Spark与大型语言模型的融合应用(访问案例主页)
本案例采用的数据集是贵州茅台公司从2004年1月1日到2024年5月10日期间的每日股票行情数据。使用pandas读取数据并且进行数据收集和预处理。使用Spark进行数据分析(编程语言使用Python),并利用大语言模型(LLM)进行数据分析。通过matplotlib实现数据可视化。
(14)案例14:基于Python和Spark的淘宝展示广告点击率预估(访问案例主页)
本案例数据集来自阿里云天池公共数据集——淘宝展示广告点击率预估数据集。采用pandas对数据进行清洗,采用分布式文件系统HDFS进行数据存储,采用Python编写Spark程序进行数据分析,使用Matplotlib进行数据可视化。
(15)案例15:基于Spark的书籍推荐数据处理与分析(访问案例主页)
本案例数据集来自Kaggle的书籍推荐数据集。采用pandas对数据进行清洗,采用分布式文件系统HDFS进行数据存储,采用Python编写Spark程序进行数据分析,使用Matplotlib进行数据可视化。
(16)案例16:基于Spark的PUBG游戏统计数据分析(访问案例主页)
本案例对Kaggle社区提供的PUBG游戏统计数据集进行深入分析。主要目标包括:(1)在Ubuntu 18.04操作系统上部署Hadoop 3.1.3和Spark 2.4.0环境,为大数据处理提供基础设施。(2)下载并预处理PUBG Finish Placement Prediction数据集,以适应实验需求并准备数据进行分析。(3)利用Python编程语言和Spark框架,对处理后的数据集进行探索性数据分析,以理解玩家在游戏中的表现和行为模式。(4)分析玩家击杀数、伤害量、移动行为和物品使用情况等关键指标,以及它们与比赛结果之间的关系。(5)通过数据可视化技术,将分析结果以图形化的方式展现出来,帮助更直观地理解PUBG玩家的行为特征和游戏模式。
先修课程(建议学习,不是必须)
Spark作为大数据进阶课程,在学习过程中会涉及大量相关的大数据基础知识以及各种大数据软件的安装和使用方法,包括Hadoop、HDFS、MapReduce、HBase、Hive等,只有具备这些入门级的大数据基础知识,才能够比较顺利地完成Spark课程的学习。因此,如果读者之前没有学习过这些基础知识,建议先学习《大数据技术原理与应用(第4版)》教材(官网),并观看与该教材配套的授课视频《大数据技术原理与应用》(观看)。《Spark编程基础(Python版,第2版)》和《大数据技术原理与应用(第4版)》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。
当然,不事先学习《大数据技术原理与应用(第4版)》,也可以直接学习《Spark编程基础(Python版,第2版)》,因为,《Spark编程基础(Python版,第2版)》教程中,在每个章节中,对于读者可能遇到的“基础知识障碍”,都有给出某个具体知识点的相关链接(比如,在讲解Spark安装时,需要首先安装Hadoop,但是,读者可能不会安装Hadoop,这时,读者就可以访问教程中的“Hadoop的安装和使用”这个知识点链接,就可以顺利完成Hadoop的安装,跨过学习的障碍),读者只要按照链接进行有针对性的补充学习即可,不需要学习全部的《大数据技术原理与应用(Python版,第2版)》知识。
同时,厦门大学数据库实验室为《大数据技术原理应用(第4版)》教材编写了配套的实验指导书《大数据基础编程、实验和案例教程(第3版)》(官网),该实验指导书侧重于介绍大数据软件的安装、使用和基础编程方法,并提供了丰富的实验和案例。