课程概述

Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。课程由全国高校知名大数据教师厦门大学林子雨老师主讲,采用林子雨等编著的《Spark编程基础(Scala版)》作为课程教材。Spark支持采用ScalaJavaPythonR语言进行编程,本课程采用Scala语言编写Spark应用程序。课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQLSpark StreamingSpark MLlib等。通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。

本课程属于进阶级大数据课程,在学习本课程之前,建议首先学习由林子雨老师主讲的入门级大数据课程《大数据技术原理与应用》。《Spark编程基础》和《大数据技术原理与应用》两门课程之间,在内容上实现了“无缝隙衔接”,可以帮助大数据学习者顺利完成入门学习和进阶学习。

    课程提供了配套的在线教学资源服务平台(https://dblab.xmu.edu.cn/post/bigdata-teaching-platform/),平台上提供了与大数据课程学习相关的各种资料,包括讲义PPT、学习指南、实验指南、课后习题、技术博客等,可以为课程学习者提供全方位一站式免费服务,目前平台每年访问量超过100万次,成为国内高校知名大数据教学品牌。

         本课程的具体章节如下:

(1)第1章-大数据技术概述

(2)第2章-Scala语言基础

(3)第3章-Spark的设计与运行原理

(4)第4章-Spark环境搭建和使用方法

(5)第5章-RDD编程

(6)第6章-Spark SQL

(7)第7章-Spark Streaming

(8)第8章-Spark MLlib

证书要求

课程总成绩是由单元测验(40%)、单元作业(10%)和考试(50%)组成。成绩包含“不合格”、“合格”和“优秀”三个档次。总成绩小于60分为“不合格”,大于等于60分并且小于85分为“合格”,大于等于85分为“优秀”。

预备知识

本课程属于进阶级大数据课程,在学习本课程之前,建议首先学习由林子雨老师主讲的入门级大数据课程《大数据技术原理与应用》。《Spark编程基础》和《大数据技术原理与应用》两门课程之间,在内容上实现了“无缝隙衔接”,可以帮助大数据学习者顺利完成入门学习和进阶学习。

需要具备的预备知识包括:面向对象编程(比如Java)、数据库、操作系统、大数据技术基础


授课大纲

Spark编程基础》课程大纲

一、教材8章内容的课时分配(共8章,24学时)

(1)第1章-大数据技术概述  2学时

(2)第2章-Scala语言基础  6学时

(3)第3章-Spark的设计与运行原理  2学时

(4)第4章-Spark环境搭建和使用方法  2学时

(5)第5章-RDD编程  4学时

(6)第6章-Spark SQL  2学时

(7)第7章-Spark Streaming  4学时

(8)第8章-Spark MLlib  2学时

 

二、每周教学进度(12周,每周2学时,共24学时,讲解教材8章内容)

1-大数据技术概述

1.1 大数据时代

1.2 大数据概念

1.3 大数据的影响

1.4 大数据关键技术

1.5 大数据计算模式

1.6 代表性大数据技术

 

2-Scala语言基础(一)

2.1 Scala语言概述

2.2 Scala基础

 

3-Scala语言基础(二)

2.3 面向对象编程基础

 

4-Scala语言基础(三)

2.4 函数式编程基础

 

5-Spark的设计与运行原理

3.1 Spark概述

3.2 Spark生态系统

3.3 Spark运行架构

3.4 Spark的部署方式

 

6-Spark环境搭建和使用方法

4.1 安装Spark

4.2 spark-shell中运行代码

4.3 编写Spark独立应用程序

4.4 Spark集群环境搭建

4.5 在集群上运行Spark应用程序


7-RDD编程

5.1 RDD编程基础

5.2 键值对RDD

5.3 数据读写


8-RDD编程

5.4 综合案例

 

9-Spark SQL

6.1 Spark SQL简介

6.2 DataFrame概述

6.3 DataFrame的创建

6.4 DataFrame的保存

6.5 DataFrame的常用操作

6.6 RDD转换得到DataFrame

6.7 使用Spark SQL读写数据库

 

10-Spark Streaming(一)

7.1 流计算概述

7.2 Spark Streaming

7.3 DStream操作概述

7.4 基本输入源

 

11-Spark Streaming(二)

7.5 高级数据源

7.6 转换操作

7.7 输出操作

7.8 Structured Streaming

 

12-Spark MLlib

8.1 Spark MLlib简介

8.2 机器学习工作流

8.3 特征抽取、转化和选择

8.4 分类与回归


参考资料

林子雨.大数据技术原理与应用(第2版),人民邮电出版社,2017年2月(教材官网)。

林子雨-大数据基础编程、实验和案例教程,清华大学出版社,2017年8月(教材官网)。

林子雨,赖永炫,陶继平.Spark编程基础(Scala版),人民邮电出版社,2018年8月(教材官网)。

高校大数据课程公共服务平台:https://dblab.xmu.edu.cn/post/8197/

大数据学习路线图:https://dblab.xmu.edu.cn/post/10164/