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

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

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

厦门大学研究生课程

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

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

时间地点:每周三下午5、6节  两节课  翔安校区学武楼B310

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

E-mail: ziyulin@xmu.edu.cn

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


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


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

课程简介

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

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

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

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

授课教师:林子雨

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

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

上课时间:每周三下午56节 两节课

上课教室:海韵教学楼

课程助教:无

学生名单(40人):

陈韶聪 陈涛 金磊 刘杉 陈锰钊 陈玉光 杜晓雄 段慧聪 方俊杰 冯文俊 胡健龙 胡铁 黄承志 黄鸣浪 黄书滨 刘忻忻 刘奕阳 伍炤润 夏佳尔 徐常升 杨浩哲 曾尧 郑雅芳 王静致远 代秋雨 费翔 蒋文静 孟凤玲 宋姜豪 陈建强 吉晓函 李怡远 彭旭 温宗恒 肖瑞杰 翟介宾 郑扬 周凤林 蔡时涛 陈思宇

教师简介

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

示范班级

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

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

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

公告板

发布时间 内容
2021年1月17日 发布班级主页

教学大纲

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

课程名称 大数据处理技术
英文名称 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、课程习题、学习指南、授课视频、技术资料等全方位、一站式免费服务,帮助学生更好学习大数据课程。

四、考核方式
最终成绩=期末大作业。
五、参考教材

林子雨,郑海山,赖永炫.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

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

教学进度表

次数 日期 内容
1 2022年2月23日周三下午56节 第1章大数据概述 讲到1.4 大数据应用 影视投拍
2 2022年3月2日周三下午56节 讲完第1章 大数据概述  讲完第2章 分布式处理架构Hadoop
3 2022年3月9日周三下午56节 讲完第3章 分布式文件系统HDFS
4 2022年3月16日周三下午56节 讲完第4章 分布式数据库HBase
5 2022年3月23日周三下午56节 受疫情影响,在线学习,Scala编程语言
6 2022年3月30日周三下午56节 受疫情影响,在线学习,Scala编程语言
7 2022年4月6日周三下午56节 教室上课,讲解MapReduce
8  2022年4月13日周三下午56节 教室上课,讲解第3章Spark的设计与运行原理
9 2022年4月20日周三下午56节 教室上课,第4章 Spark环境搭建和使用方法
10 2022年4月27日周三下午56节 教室上课,第5章 RDD编程
11 2022年5月7日(五一调休补周三的课) 教室上课,第6章 Spark SQL
12 2022年5月11日周三下午56节 教室上课,第7章 Spark Streaming
13 2022年5月18日周三下午56节 作业答辩
14 2022年5月25日周三下午56节 作业答辩
15 2022年6月1日周三下午56节 作业答辩

讲义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.《大数据技术原理与应用》课程视频观看

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

《大数据技术原理与应用(第3版)》教材拥有配套的高清课程视频(观看),共13讲,视频累计长度1300分钟。该课程荣获“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”。读者在学习本教程的同时,可以通过观看在线视频,了解相关大数据技术的实现原理,从而更好实践大数据技术。

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

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

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

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

课程助教

班级相册

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