Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。课程由全国高校知名大数据教师厦门大学林子雨老师主讲,采用林子雨等编著的《Spark编程基础(Scala版)》作为课程教材。Spark支持采用Scala、Java、Python和R语言进行编程,本课程采用Scala语言编写Spark应用程序。课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib等。通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
本课程属于“进阶级”大数据课程,在学习本课程之前,建议首先学习由林子雨老师主讲的“入门级”大数据课程《大数据技术原理与应用》(点击这里在中国大学MOOC平台学习林子雨老师主讲的国家精品在线开放课程《大数据技术原理与应用》)。《Spark编程基础》和《大数据技术原理与应用》两门课程之间,在内容上实现了“无缝隙衔接”,可以帮助大数据学习者顺利完成入门学习和进阶学习。
课程提供了配套的在线教学资源服务平台(https://dblab.xmu.edu.cn/post/bigdata-teaching-platform/),平台上提供了与大数据课程学习相关的各种资料,包括讲义PPT、学习指南、实验指南、课后习题、技术博客等,可以为课程学习者提供全方位一站式免费服务,目前平台每年访问量超过100万次,成为国内高校知名大数据教学品牌。
本课程的具体章节如下:
(1)第1章-大数据技术概述(2019年9月16日发布)
(2)第2章-Scala语言基础(2019年9月23日发布,本章内容较多,学习时长是3周)
(3)第3章-Spark的设计与运行原理(2019年10月14日发布)
(4)第4章-Spark环境搭建和使用方法(2019年10月21日发布)
(5)第5章-RDD编程(2019年10月28日发布,本章学习内容较多,学习时长是2周)
(6)第6章-Spark SQL(2019年11月11日发布)
(7)第7章-Spark Streaming(2019年11月18日发布,本章学习内容较多,学习时长是2周)
(8)第8章-Spark MLlib(2019年12月2日发布)
Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。本课程采用Scala语言编写Spark应用程序。课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib等。通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
第1章 大数据技术概述
1.1 大数据时代
1.2 大数据概念
1.3 大数据的影响
1.4 大数据关键技术
1.5 大数据计算模式
1.6 代表性大数据技术
第1章大数据技术概述单元测验
第2章 Scala语言基础
2.3 面向对象编程基础
2.4 函数式编程基础
2.1 Scala语言概述
2.2 Scala基础知识
第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.4 分类与回归
第8章 Spark MLlib单元测验
本课程属于“进阶级”大数据课程,在学习本课程之前,建议首先学习由林子雨老师主讲的“入门级”大数据课程《大数据技术原理与应用》(点击这里在中国大学MOOC平台学习林子雨老师主讲的国家精品在线开放课程《大数据技术原理与应用》)。《Spark编程基础》和《大数据技术原理与应用》两门课程之间,在内容上实现了“无缝隙衔接”,可以帮助大数据学习者顺利完成入门学习和进阶学习。
需要具备的预备知识包括:面向对象编程(比如Java)、数据库、操作系统、大数据技术基础。
课程总成绩是由单元测验(50%)和考试(50%)组成。成绩包含“不合格”、“合格”和“优秀”三个档次。总成绩小于60分为“不合格”,大于等于60分并且小于85分为“合格”,大于等于85分为“优秀”。合格及优秀的同学可付费申请认证证书。
林子雨,赖永炫,陶继平.Spark编程基础(Scala版),人民邮电出版社,2018年8月(教材官网)。
林子雨.大数据技术原理与应用(第2版),人民邮电出版社,2017年2月(教材官网)。
林子雨-大数据基础编程、实验和案例教程,清华大学出版社,2017年8月(教材官网)。
高校大数据课程公共服务平台:https://dblab.xmu.edu.cn/post/8197/
大数据学习路线图:https://dblab.xmu.edu.cn/post/10164/