林子雨主讲《大数据处理技术Spark》2020班级主页

本班级是“高校大数据课程公共服务平台”的九大工程中的“6号子工程”

全力打造全国高校大数据教学示范班级

厦门大学研究生课程

《大数据处理技术Spark》2020班级主页

全面系统讲解Spark技术及其编程方法

时间地点:每周三晚上7点10分  两节课  海韵教学楼201

主讲人:厦门大学计算机科学系  林子雨  博士/副教授

E-mail: ziyulin@xmu.edu.cn

个人主页:https://dblab.xmu.edu.cn/post/linziyu


课程简介|教师简介|示范班级|公告板|课程教材|教学大纲| 教学进度表 |讲义PPT下载| 授课视频课后作业|拓展学习|班级相册


(扫一扫手机访问本主页)

课程简介

课程名称:《大数据处理技术》

课程性质:校级研究生选修课

面向对象:校级选修课,面向全校各院系研究生同学开放,欢迎并建议计算机相关专业研究生同学选修

课程难度:入门级,零基础(课程采用林子雨编著的入门级精品教材,丰富的教材配套资源帮助学生实现“零基础”学习大数据)

授课教师:林子雨

开课学期:2020年春季学期(2月到6月)

课程学时:每周2节,共16周,32学时,2学分

上课时间:每周三晚上7点10分 两节课

上课教室:海韵教学楼

课程助教:无

教师简介

林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授(讲师),曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度和2017年度厦门大学教学类奖教金获得者,荣获2017年福建省精品在线开放课程、2018年厦门大学高等教育成果特等奖、2018年福建省高等教育教学成果二等奖和2018年国家精品在线开放课程。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目,同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的研究和教学资料,累计网络访问量超过500万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,年访问量超过100万次。

示范班级

林子雨主讲厦门大学研究生课程《大数据处理技术》是“高校大数据课程公共服务平台”重点打造的示范班级,全程严格执行“林子雨精品大数据公开课六大质量标准”,旨在努力打造高校大数据教学实践标杆。

示范班级全程践行O2O教学理念,提供线上线下完整教学服务,学生在获得良好现场教学体验的同时,可以通过班级网站获得全方位课程指导和服务。示范班级标准元素包括:班级主页、标准教室、精心备课、精彩讲解、优雅形象、标准音质、完整服务等。

林子雨精品大数据公开课六大质量标准

公告板

发布时间 内容
2020年12月21日 发布班级主页

教学大纲

厦门大学研究生课程教学大纲

课程名称 大数据处理技术
英文名称 Bigdata Processing Technology
授课对象 计算机、软件工程等信息相关专业 适用年级 研究生一年级
课程类型 专业选修课 课程课型 理论和实践结合型
总学分 总学时 授课 讨论 实验/上机 实践 其他
2 32 32 0 0 0 0
先修课程 编程语言、数据库、大数据导论
一、课程简介(中文)
Spark是当前热门的大数据处理技术。本课程重点介绍Spark的技术原理与编程方法。Spark支持采用Scala、Java、Python和R语言进行编程,本课程采用Python语言编写Spark应用程序。课程内容包括Spark简介、安装、运行架构、RDD的设计与运行原理、部署模式、RDD编程、键值对RDD、数据读写、Spark SQL、Spark Streaming、Structured Streaming和Spark MLlib等。通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
二、课程简介(英文)
Spark is a popular data processing technology. This course focuses on the technical principles and programming methods of Spark. Spark supports the use of Scala, Java, Python and R programming language, and this course adopts Python to write Spark programs. The contents of this course include Spark language introduction, installation, operation architecture, RDD design and operation principle, deployment model, RDD programming, the key of RDD, Spark SQL, data reading and writing, Spark Streaming, Structured Streaming, Spark MLlib etc.. This course may help students to have the basic ability of Spark programming, and use Spark technology to solve practical research problems.
三、教学方式
(1)本课程采用理论授课与学生课后上机实践相结合,帮助学生更好消化吸收课程知识。

(2)积极践行O2O教学理念,努力提升教学水平,在大数据课程教学方面积极开拓创新,实现线下教学和线上服务的巧妙结合。课程主讲教师建设了国内高校首个大数据课程公共服务平台,提供讲义PPT、课程习题、学习指南、授课视频、技术资料等全方位、一站式免费服务,帮助学生更好学习大数据课程。

四、考核方式
最终成绩=期末笔试成绩*70%+平时成绩*30%,其中,平时成绩包括考勤和作业。
五、参考教材

林子雨,郑海山,赖永炫.Spark编程基础(Python版),人民邮电出版社,2019.

林子雨. Spark入门教程(Python版).https://dblab.xmu.edu.cn/blog/1709-2/
六、教学大纲
章(或节) 主要内容 学时安排
第1章 大数据技术概述 大数据的基本概念、关键技术和代表性软件 2
第2章 Spark的设计与运行原理 Spark简介、运行架构、RDD的设计与运行原理、部署模式 2
第3章Spark环境搭建和使用方法 Spark的基本安装方法,如何在spark-shell中运行代码以及如何开发Spark独立应用程序、Spark集群环境搭建, 在集群上运行Spark应用程序 4
第4章 RDD编程 RDD编程基础、键值对RDD、 数据读写、WordCount程序解析、RDD编程综合案例 6
第5章 Spark SQL Spark SQL简介、DataFrame、读写Parquet、通过JDBC连接数据库、连接Hive读写数据 4
第6章 Spark Streaming 流计算概述、Spark Streaming、DStream操作概述、输入源、转换操作、输出操作 4
第7章 Structured Streaming 概述、编写Structured Streaming程序的基本步骤、输入源、输出操作、容错处理、迟到数据处理、查询的管理和监控 4
第8章 Spark Mllib Spark MLlib简介、机器学习工作流、特征抽取、转化和选择、分类与回归、聚类算法、推荐算法、机器学习参数调优 4
综合案例 Spark编程综合案例 2
合计 32
七、教学计划
周数(按校历)      各章节教学内容纲要      课时

1     第1章 大数据技术概述

大数据的基本概念、关键技术和代表性软件 2

2     第2章 Spark的设计与运行原理

Spark简介、运行架构、RDD的设计与运行原理、部署模式   2

3     第3章Spark环境搭建和使用方法

Spark的基本安装方法,如何在spark-shell中运行代码以及如何开发Spark独立应用程序  2

4     第3章Spark环境搭建和使用方法

Spark集群环境搭建, 在集群上运行Spark应用程序       2

5     第4章 RDD编程

RDD编程基础、键值对RDD 2

6     第4章 RDD编程

RDD编程基础、键值对RDD 2

7     第4章 RDD编程

RDD编程综合案例   2

8     第5章 Spark SQL

Spark SQL简介、DataFrame、读写Parquet    2

9     第5章 Spark SQL

通过JDBC连接数据库、连接Hive读写数据  2

10   第6章 Spark Streaming

流计算概述、Spark Streaming、DStream操作概述、基本输入源、高级输入源      2

11   第6章 Spark Streaming

转换操作、输出操作      2

12   第7章 Structured Streaming

概述、编写Structured Streaming程序的基本步骤、输入源    2

13   第7章 Structured Streaming

输出操作、容错处理、迟到数据的处理、查询的管理和监控 2

14   第8章 Spark Mllib

Spark MLlib简介、机器学习工作流、特征抽取

转化和选择、分类与回归     2

15   第8章 Spark Mllib

聚类算法、推荐算法、机器学习参数调优     2

16   Spark编程综合案例 2

期末考试

合计      32

大纲制定者:林子雨 大纲审定者:朱晋英 大纲制定时间:2019年2月

教学进度表

次数 日期 内容
1 2020年2月19日周三晚上9和10节 课程介绍
第1章 大数据技术概述
2 2020年2月26日周三晚上9和10节 第2章 Spark的设计与运行原理
3 2020年3月4日周三晚上9和10节 第3章 Spark环境搭建和使用方法
4 2020年3月11日周三晚上9和10节 第4章 RDD编程从开始讲到4.1.4的3设置分区的个数
5 2020年3月18日周三晚上9和10节 第4章 RDD编程讲到4.3.2读写HBase数据 0.HBase简介
6 2020年3月25日周三晚上9和10节 第4章 RDD编程
剩余内容全部讲完,结束第4章
7 2020年4月1日周三晚上9和10节 第5章 Spark SQL
8 2020年4月8日周三晚上9和10节 第6章 Spark Streaming,讲到套接字流(使用NC程序作为数据服务端)
9 2020年4月15日周三晚上9和10节 第6章 Spark Streaming,讲到6.6转换操作,还剩下6.7输出操作没有讲
10 2020年4月22日周三晚上9和10节 第6章 Spark Streaming 剩余内容全部讲完。第7章 Structured Streaming讲到7.3.2 Kafka源
11 2020年4月29日周三晚上9和10节 第7章Structured Streaming剩余内容全部讲完;第8章 Spark MLlib讲完了8.3节特征抽取、转化和选择
12 2020年5月6日周三晚上9和10节 第8章 Spark MLlib,讲完了8.4分类与回归,讲解了逻辑斯蒂回归分类器和决策树
13 2020年5月13日周三晚上9和10节 大数据综合案例
14 2020年5月20日周三晚上9和10节 复习
15 2020年5月27日周三晚上9和10节 期末考试

授课视频

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

讲义PPT下载

章节 内容 下载PPT 下载PDF
 第0章 课程介绍 课程特色、教材介绍、内容提要、教学大纲、配套资源、班级介绍 下载 下载
 第1章 大数据技术概述 大数据时代、大数据概念、影响、关键技术、计算模式、代表性技术 下载 下载
第2章 Spark的设计与运行原理 Spark概述、Spark生态系统、Spark运行架构、Spark的部署方式 下载 下载
第3章 Spark环境搭建和使用方法 安装Spark、在spark-shell中运行代码、编写Spark独立应用程序、Spark集群环境搭建、在集群上运行Spark应用程序 下载 下载
第4章-RDD编程 RDD编程基础、键值对RDD、数据读写、综合案例 下载 下载
第5章-Spark SQL  Spark SQL简介、DataFrame概述、DataFrame的创建、DataFrame的保存、DataFrame的常用操作、从RDD转换得到DataFrame、使用Spark SQL读写数据库 下载 下载
第6章 Spark Streaming  流计算概述、Spark Streaming、DStream操作概述、基本输入源、高级数据源、转换操作、输出操作、Structured Streaming 下载 下载
第7章 Structured Streaming 概述、编写Structured Streaming程序的基本步骤、输入源、输出操作、容错处理、迟到数据处理、查询的管理和监控 下载 下载
第8章-Spark MLlib Spark MLlib简介、机器学习工作流、特征抽取、转化和选择、分类与回归、聚类算法、推荐算法、机器学习参数调优 下载 下载

课后作业

课后作业的形式是,同学下载作业说明,然后按照作业要求进行上机实践,并撰写电子版上机实验报告(WORD文档),并在指定日期之前发送给林子雨老师(E-mail:ziyulin@xmu.edu.cn)。

章节 作业名称 作业下载 作业提交时间
期末大作业 ****之前提交给ziyulin@xmu.edu.cn

课程教材

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

拓展学习

在本课程的学习过程中,感兴趣的学生,建议在课后参考以下资料自学更多的大数据相关技术。

1.《大数据技术原理与应用》课程视频观看

林子雨编著《大数据技术原理与应用(第2版)》(人民邮电出版社2017年2月正式出版发行第2版,京东、当当各大网店热销书籍),侧重于介绍大数据技术的实现原理,编程实践内容较少,该教材定位为入门级大数据教材,以“构建知识体系、阐明基本原理、开展初级实践、了解相关应用”为原则,旨在为读者搭建起通向大数据知识空间的桥梁和纽带,为读者在大数据领域深耕细作奠定基础、指明方向。教材系统论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、大数据处理架构Spark、流计算、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用。

《大数据技术原理与应用》教材拥有配套的高清课程视频(观看),共13讲,视频累计长度1300分钟。课程视频于2016年3月发布到网易云课堂,长期以来一直排名大数据课程排行榜首位,累计学习人数超过2万人,99%网友给予五星级最高评价,被众多网友称为“经典课程”和“最好的大数据入门课程”。读者在学习本教程的同时,可以通过观看在线视频,了解相关大数据技术的实现原理,从而更好实践大数据技术。

2.大数据软件安装和编程实践指南访问

详细学习如何安装运行各种大数据软件以及如何进行初级编程实践,包括Hadoop、HDFS、HBase、MapReduce、Spark、MongoDB等安装、操作、编程指南。帮助学生“零基础、零障碍”学习大数据技术。

3.大数据课程实验案例《网站用户购物行为分析》(访问

采用2000万条用户购物数据集,案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系统和软件的安装和使用方法。案例适合高校大数据教学,可以作为学生学习大数据课程后的综合实践案例。

课程助教

班级相册

为学生留下最美的课堂记忆。