Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。课程由全国高校知名大数据教师厦门大学林子雨老师主讲,采用林子雨等编著的《Spark编程基础(Scala版)》作为课程教材。Spark支持采用Scala、Java、Python和R语言进行编程,本课程采用Scala语言编写Spark应用程序。课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark 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/