Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理、编程方法以及MLlib算法实现数据分析。Spark支持采用Scala、Java、Python和R语言进行编程,本课程拟采用Scala语言编写Spark应用程序。课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法(主要是基于虚拟化技术的实验平台,例如使用Docker技术)、RDD编程介绍(以及后来的简便编程法)、Spark SQL、Spark Streaming和Spark MLlib(这里是本课程的重点学习算法所在)等。通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
本课程的具体章节如下:
(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
(9)第9章- 分类与回归
(10)第10章- 聚类方法实现
(11)第11章- 频繁模式挖掘
(12)第12章-其他Spark实现算法
课程总成绩是由单元测验(50%)和考试(50%)组成。成绩包含“不合格”、“合格”和“优秀”三个档次。总成绩小于60分为“不合格”,大于等于60分并且小于85分为“合格”,大于等于85分为“优秀”。
需要具备的预备知识包括:操作系统、大数据技术基础等。
第1章 大数据技术概述
1.1 大数据时代
1.2 大数据概念
1.3 大数据的影响
1.4 大数据关键技术
1.5 大数据计算模式
1.6 代表性大数据技术
第1章大数据技术概述单元测验
第2章 Scala语言基础
2.1 Scala语言概述
2.2 Scala基础知识
2.3 面向对象编程基础
2.4 函数式编程基础
第2章Scala语言基础单元测验
第3章 Spark的设计与运行原理
3.1 Spark概述
3.2 Spark生态系统
3.3 Spark运行架构
3.4 Spark的部署和应用方式
第3章 Spark的设计与运行原理单元测验
第4章 Spark环境搭建和使用方法
4.1 安装Spark
4.2 在spark-shell中运行代码
4.3 开发Spark独立应用程序
4.4 Spark集群环境搭建
4.5 在集群上运行Spark应用程序
第4章Spark环境搭建和使用方法单元测验
第5章 RDD编程
5.1 RDD编程基础
5.2键值对RDD
5.3 数据读写
5.4 综合案例
第5章 RDD编程单元测验
第6章 Spark SQL
6.1 Spark SQL简介
6.2 DataFrame
6.3 从RDD转换得到DataFrame
6.4 使用Spark SQL读写数据库
第6章 Spark SQL单元测验
第7章 Spark Streaming
7.1 流计算概述
7.2 Spark Streaming
7.3 DStream操作概述
7.4 基本输入源
7.5 高级数据源
7.6 转换操作
7.7 输出操作
7.8 Structured Streaming
第7章 Spark Streaming单元测验
第8章 Spark MLlib
8.1 Spark MLlib简介
8.2 机器学习流水线
8.3 特征抽取、转化和选择
第8章 Spark MLlib单元测验
第9章 MLlib-分类与回归
9.1 Logistic回归及其在Spark实现
9.2 决策树算法及其在Spark实现
第10章 MLlib-聚类
10.1 K-Means算法简介
10.2 在Spark实现并行的K-Means算法
第11章 MLlib-频繁模式挖掘
11.1 频繁模式挖掘的FPGrowth算法
11.2 关联规则相关知识
第12章 其他Spark实现算法
12.1 协同过滤算法作为推荐系统简介
12.2 大数据相关应用案例介绍
(澳) 杰夫瑞·艾文著 王道远译,Spark数据分析:基于Python语言,机械工业出版社,2019年4月。
(印) 拉结帝普·杜瓦, 曼普利特·辛格·古特拉, (南非) 尼克·彭特里思著 蔡立宇, 黄章帅, 周济民译,Spark机器学习,人民邮电出版社,2018-11
林子雨,赖永炫,陶继平.Spark编程基础(Scala版),人民邮电出版社,2018年8月(教材官网)。
林子雨.大数据技术原理与应用(第2版),人民邮电出版社,2017年2月(教材官网)。
林子雨-大数据基础编程、实验和案例教程,清华大学出版社,2017年8月(教材官网)。
高校大数据课程公共服务平台:https://dblab.xmu.edu.cn/post/8197/
大数据学习路线图:https://dblab.xmu.edu.cn/post/10164/