访问最新版第2版教材官网
版权声明:本站对站内所有资源拥有版权,严禁用于商业用途,侵权必究
在线MOOC课程于2021年3月1日在中国大学MOOC第5次开课(观看在线视频)
《Spark编程基础(Scala版)》教材官网
厦门大学 林子雨,赖永炫,陶继平 编著
林子雨(ziyulin@xmu.edu.cn)
披荆斩棘,在大数据丛林中开辟学习捷径
填沟削坎,为快速学习Spark技术铺平道路
深入浅出,有效降低Spark技术学习门槛
资源全面,构建全方位一站式在线服务体系
访问另外一本教材《Spark编程基础(Python版)》官网
祝贺教材配套课程视频在中国大学MOOC平台发布(观看视频)
人民邮电出版社 ISBN:978-7-115-48816-9 定价:49.80元
2018年8月第1版
两本教材可以使用同一套讲义PPT和本网页的教学资源
本页面内容导航
教程简介 | 实验指南 | 下载专区 | 教材所有命令行和代码 | 教材目录 | 先修课程 | 在线教程 | 课程视频
讲义PPT | 每个章节配套上机实验题目 | 综合案例 | 大数据课程公共服务平台 | 教材勘误 | 大事记 | 联系人
厦大计算机系研究生Spark课程2017班级主页 | 研究生Spark课程2018班级主页
扫一扫访问本网页
本书《Spark编程基础(Scala版)》属于“进阶级”大数据课程,在学习本教程之前,建议首先学习入门级大数据课程《大数据技术原理与应用》(教材官网)。《Spark编程基础(Scala版)》和《大数据技术原理与应用》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。
本书以Scala作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Spark MLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。
《Spark编程基础(Scala版)》封面
《Spark编程基础(Scala版)》由林子雨、赖永炫和陶继平执笔,其中,林子雨负责教材规划、统稿、校对和在线资源创作,并撰写第1、3、4、5、6、7章的内容,赖永炫负责撰写第8章的内容,陶继平负责撰写第2章的内容。
林子雨(1978-),男,博士,厦门大学计算机科学系副教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的教学和科研资料,累计网络访问量超过1000万次。主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度、2017年度和2020年度厦门大学教学类奖教金获得者。点击这里访问林子雨个人主页。
赖永炫(1981-),男,博士,厦门大学信息学院教授,厦门大学移动与数据分析(MOCOM)实验室负责人(主页),福建省人工智能学会理事。2004年毕业于中国人民大学信息管理系,2009年毕业于中国人民大学计算机系,获工学博士学位。研究方向是网络数据管理,车载网络,大数据分析和管理等。近年来主持过国家科技支撑计划课题1项,国家自然科学基金2项,参与国家及省部级课题10余项。发表高水平科研论文20余篇,并担任多个国际期刊和会议的审稿人。获得过厦门大学厦航奖教金,厦门大学第八届青年教师教学技能比赛一等奖,厦门大学高等教育教学成果二等奖。
陶继平,男,1980年出生,博士。2010年毕业于上海交通大学控制科学与工程专业,获得工学博士学位。现任厦门大学自动化系副教授,厦门市物流协会信息化专业委员会委员,曾为厦门大学云计算与大数据研究中心主要建设者和骨干成员。主要研究兴趣包括运筹与优化算法理论及其在生产调度、多机器人规划、云计算、大数据分析等方面的应用。作为项目负责人主持1项国家自然科学青年基金项目(No. 11201391),已发表学术论文20多篇。作为主要参与人参与了国家自然科学基金、福建省自然科学基金等国家及省部级课题6项。
为了确保教程质量,在编著出版纸质教材之前,厦门大学数据库实验室已经于2016年10月通过实验室官网免费发布共享了简化版的《Spark在线教程》(访问)和相关教学资源,同时,该在线教程也已经用于厦门大学计算机科学系研究生的大数据课程教学,并成为全国高校大数据课程教师培训交流班的授课内容。实验室根据读者对在线Spark教程的大量反馈意见以及教学实践中发现的问题,对Spark在线教程进行了多次修正和完善,所有这些前期准备工作,都为纸质教材的编著出版打下了坚实的基础。
问:在线版本的《Spark入门教程》和出版发行的纸质教材《Spark编程基础(Scala版)》二者的区别是什么?
答:在线版本的《Spark入门教程》属于简化版的Spark教材,旨在帮助读者快速学习Spark技术,里面内容的写作方式会更加口语化,偏向于博客的风格。出版发行的纸质教材《Spark编程基础(Scala版)》,则是完全从高校专业课教材的角度进行创作,在知识架构和内容编排上,严格按照教材的高标准和高要求来进行,强调前后文高度的逻辑相关性,全书内容的整体协调性,以及文字表述的精准清晰性。因此,纸质教材比在线版本的质量,有了本质的大幅度提升。可以说,在线版本只是在写作纸质教材之前的准备工作,为纸质教材提供了蓝本。本书作者林子雨、赖永炫和陶继平三位老师,在完成在线版本创作以后,又进行了系统深入的调研和学习并反复实践,最终,撰写了纸质教材用于高校教学。
需要注意的是,在线版本中也包含了一些纸质教材中没有的内容,因为这些操作实践的内容比较琐碎,因此,没有放入纸质教材,所以,读者阅读在线版本仍然会有新的收获。总体而言,在线版本和纸质教材二者配合使用,效果更好。
厦门大学林子雨老师主讲《Spark编程基础(Scala版)》课程视频(观看),根据2017年春季学期林子雨老师给厦门大学计算机系2017级硕士研究生主讲《大数据处理技术Spark》课程的现场音频,进行后期制作合成视频。
章节 | 实验操作名称 | 访问网页 |
第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命令 | 查看 |
第5章 RDD编程 | HBase的安装 | 查看 |
第6章 Spark SQL | 在Ubuntu中安装MySQL | 查看 |
第6章 Spark SQL | Hive的安装 | 查看 |
第7章 Spark Streaming | Kafka的安装和使用方法 | 查看 |
第7章 Spark Streaming | 使用Flume作为Spark的数据源 | 查看 |
第7章 Spark Streaming | 使用Kafka作为Spark的数据源 | 查看 |
第7章 Spark Streaming | 日志采集工具Flume的安装与使用方法 | 查看 |
版权声明:本站对站内所有资源拥有版权,严禁用于商业用途,侵权必究
“下载专区”所有资源全部放在百度云盘中,需要在电脑上安装百度云盘客户端,才能顺利下载内容,请点击这里访问百度云盘。(提取码是sabi)
“下载专区”栏目提供了本教程内各个章节所涉及到的源代码、软件和数据集的下载,为了方便读者查找相关软件和代码,下表给出了教程官网“下载专区”目录及其内容的概览。
表1 《Spark编程基础(Scala版)》下载专区资源一览表
目录 |
文件清单 |
|
软件 | apache-hive-1.2.1-bin.tar.gzapache-maven-3.3.9-bin.zip
FileZilla_3.17.0.0_win64_setup.exe hadoop-2.7.1.tar.gz hbase-1.1.5-bin.tar.gz kafka_2.11-0.10.2.0.tgz mysql-connector-java-5.1.40.tar.gz sbt-launch.jar scala-2.11.8.tgz spark-2.1.0-bin-without-hadoop.tgz spark-2.1.0.tgz spark-streaming-kafka-0-8_2.11-2.1.0.jar spark-2.1.0-bin-h27hive.tgz ubuntukylin-16.04-desktop-amd64.iso VirtualBox_5.0.10.4061_104061_Win.1448355141.exe |
|
代码 | 第2章 | Bird.scala, Bird1.scala, Bird2.scala, Bird3.scala, Box.scala, Counter.scala, Counter1.scala, Counter2.scala, Element.scala, Element1.scala, HelloWorld.scala, MyCar.scala, MyTestApply.scala, Person.scala, Person1.scala, Test.scala, TestApplyClass.scala, TestBreak.scala, TestCase.scala, TestMatch.scala, TestMatch1.scala, TestMatch2.scala, TestMatch3.scala,TestUnapply.scala,Top.scala |
第4章 | pom.xml, simple.sbt, SimpleApp.scala | |
第5章 | Combine.scala, FileSort.scala, JSONRead.scala, SecondarySortApp.scala, SecondarySortKey.scala, SparkOperateHBase.scala, SparkWriteHBase.scala, TestPartitioner.scala, TopN.scala | |
第6章 | InsertStudent.scala | |
第7章 | DataSourceSocket.scala, KafkaWordCount.scala, KafkaWordProducer.scala, NetworkWordCount.scala, NetworkWordCountStateful.scala, simple.sbt, StreamingExamples.scala, TestRDDQueueStream.scala, TestStreaming.scala | |
数据集 | 第5章 | chapter5-data1.txt |
第8章 | adult.rar, iris.data | |
实验答案 | 附录A | 附录A:《林子雨编著:Spark编程基础(Scala版)》教材配套实验答案.pdf |
纸质教材《Spark编程基础(Scala版)》的每个章节(除了第3章 Spark的设计与运行原理)末尾都配套了学生上机实验题目,每套实验题目可以满足1次上机实验室(比如连续4节课机房统一上机实验课)的要求,旨在帮助学生更好消化理解课堂内容。
请点击这里访问百度云盘(提取码是sabi),访问“实验答案”目录,可以找到教材7个配套实验的题目和答案PDF文件。下面是7个实验一览表。
章节 | 实验 |
第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章 Spark MLlib | 实验7-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)案例3:Spark大数据分析案例之平均心率检测(访问案例主页)
本案例以案例2为基础,涉及模拟数据生成,数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程,所涉及的各种典型操作涵盖Linux、Spark、Kafka、JAVA、MySQL、Ajax、Html、Css、Js、Maven等系统和软件的安装和使用方法。通过本案例,将有助于综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。
内容 | 查看 |
Spark GraphX(备注:进入右边查看链接后,找到《Spark入门教程》的第7章 Spark GraphX) | 查看 |
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月30日,林子雨编写的《Spark入门教程》在线教程正式上线。
*2017年2月-5月,由林子雨主讲的厦门大学计算机系研究生课程《大数据处理技术Spark》正式开课(班级主页)。
*2017年8月7日-13日,由林子雨老师主讲的第6期全国高校大数据课程教师培训交流班(Spark高级研修班)在贵阳顺利举办(Spark师资培训班主页)。
*2017年10月6日,由厦门大学林子雨、赖永炫和陶继平三位老师合作编写的《Spark编程基础》教材电子书稿完成撰写,并提交给人民邮电出版社,纸质教材将于2018年3月正式上市销售。
*2017年12月26日,由林子雨老师主讲的《Spark编程基础》MOOC视频制作完成。
*2018年8月8日,由林子雨、赖永炫和陶继平编著的《Spark编程基础(Scala版)》纸质教材正式由人民邮电出版社出版发行。
欢迎联系教材作者林子雨:ziyulin@xmu.edu.cn