- 简介
- 资源下载
- 视频
- 上课体验
- 反馈
图书介绍
1、本书是“十四五”职业教育国家规划教材,定位于Spark大数据技术从入门到应用的系统教程,采用了以项目为导向的教学模式,按照解决实际任务的工作流程路线,逐步学习相关的理论知识点,推导生成可行的解决方案,最后落实在任务实现环节。2、本书全面地介绍了Spark大数据技术的相关知识。全书共9个项目,具体内容包括Spark概述、Scala基础、Spark Shell编程、Spark IDE编程、Spark SQL结构化数据文件处理、Spark Streaming实时计算框架、Spark GraphX图计算框架、Spark MLlib功能强大的算法库、以及广告检测流量作弊识别的项目案例。3、本书的大部分章节包含了实训与课后习题,通过练习和操作实践,可以帮助读者巩固所学的内容。
本书保留原书特色的基础上,对教材进行了内容与代码的全面升级。第3版修订的主要内容如下:1、 教材体裁由章节任务式结构,调整为项目任务式结构。 2、全书“学习目标”进一步划分为“知识目标”(原学习目标)和“素养目标”,并补充了“思维导图”。 3、项目1修改了Spark及其前置环境的版本,将使用的VMware由15升级为17,将使用的操作系统由CentOS 7.8修改为Rocky 9.6,将使用的SSH远程工具由Xmanager5修改为MobaXterm_Portable,将使用的Hadoop版本由Hadoop 3.1.4升级为Hadoop 3.3.6,将使用的Spark版本由Spark 3.2.1升级为Spark 3.5.1。4、项目1删减了“了解Spark的发展历史”一节内容,“Spark的应用场景”一节中不再以企业应用场景为例,具体应用场景替换为贴近二十大报告中的近5年成就。5、项目2修改了Scala的安装过程介绍,将Scala版本由Scala 2.12.15升级为Scala 2.13.16。6、项目4修改了Spark开发环境搭建的过程介绍,将IDEA版本由ideaIC 2018.3.6升级为ideaIC 2022.3.3,将IDEA中Scala插件的版本由2018.3.6升级为2022.3.3。7、项目4增加了“AI智能编程插件安装与使用”,有机融入了AI元素。8、项目5修改了Spark SQL CLI的配置过程,将使用的Hive版本由Hive 3.1.2升级为Hive 3.1.3,将使用的MySQL驱动包版本由5.7.18升级为8.0.30。9、项目5的案例更换为“分析水稻信息数据情况”。10、项目8的案例更换为“饮用水源营养状态数据分析”。11、全书习题补充选择题解析,项目2~8补充了一道技能题。
图书目录
项目1 搭建Spark集群——Spark概述
【学习目标】
【项目背景】
【思维导图】
【知识准备】
1.1 Spark简介
1.1.1 Spark的特点
1.1.2 Spark生态圈
1.1.3 Spark的应用场景
1.2 Spark运行架构与原理
1.2.1 Spark架构
1.2.2 Spark作业运行流程
1.2.3 Spark核心数据集RDD
1.2.4 Spark核心原理
【项目实施】
任务1.1 搭建单机版环境
任务1.2 搭建单机伪分布式集群
任务1.3 搭建完全分布式集群
【项目小结】
【课后习题】
项目2 查询手机号码信息——Scala基础
【学习目标】
【项目背景】
【思维导图】
【知识准备】
2.1 安装与运行Scala
2.1.1 Scala语言
2.1.2 Scala特性
2.1.3 安装Scala
2.1.4 运行Scala
2.2 Scala基本语法
2.2.1 Scala数据类型
2.2.2 定义与使用常量、变量
2.2.3 使用运算符
2.2.4 定义与使用数组
2.2.5 定义与使用函数
2.3 Scala控制结构
2.3.1 使用if判断
2.3.2 使用for循环
2.4 Scala集合类型
2.4.1 定义与使用列表
2.4.2 定义与使用集合
2.4.3 定义与使用映射
2.4.4 定义与使用元组
2.4.5 使用函数组合器
2.5 Scala面向对象编程
2.5.1 定义Scala类
2.5.2 使用Scala单例模式
2.5.3 使用Scala模式匹配
2.5.4 读写文件
【项目实施】
任务2.1识别号码类型
任务2.2 统计广州号码段数量
任务2.3 根据归属地对手机号码段分组
任务2.4 编写手机号码归属地信息查询程序
【项目小结】
【实训】
实训1 使用Scala编写函数过滤文本中的回文单词
实训2 使用Scala编程输出九九乘法表
【课后习题】
项目3 查询统计员工薪资数据——Spark Shell编程
【学习目标】
【项目背景】
【思维导图】
【知识准备】
3.1 创建Spark RDD
3.1.1 内存中已有数据创建RDD
3.1.2 从外部存储系统中读取数据创建RDD
3.2 RDD基础操作
3.2.1 使用map()方法转换数据
3.2.2 使用sortBy()方法进行排序
3.2.3 使用collect()方法查询数据
3.2.4 使用flatMap()方法转换数据
3.2.5 使用take()方法获取数据
3.3 RDD进阶操作
3.3.1 使用filter()方法进行过滤
3.3.2 使用distinct()方法进行去重
3.3.3 使用简单的集合操作
3.4 键值对RDD操作
3.4.1 键值对RDD
3.4.2 创建键值对RDD
3.4.3 使用键值对RDD的keys与values方法
3.4.4 使用键值对RDD的reduceByKey()方法
3.4.5 使用键值对RDD的groupByKey()方法
3.5 RDD连接操作
3.5.1 使用join()方法连接两个RDD
3.5.2 使用zip()方法组合两个RDD
3.5.3 使用combineByKey()方法合并相同键的值
3.5.4 使用lookup()方法查找指定键的值
3.6 RDD文件读写
3.6.1 读取与存储JSON文件
3.6.2 读取与存储CSV文件
3.6.3 读取与存储SequenceFile文件
3.6.4 读取与存储ObjectFile文件
3.6.5 读取与存储纯文本文件
【项目实施】
任务3.1 读取员工薪资数据创建RDD
任务3.2 查询上半年实际薪资排名前3的员工信息
任务3.3 输出上半年或下半年实际薪资大于20万元的员工姓名
任务3.4 统计每位员工2023年的总实际薪资
任务3.5 查询每位员工2023年的月均实际薪资
任务3.6 将汇总后的员工薪资存储为文本文件
【项目小结】
【实训】
实训1 通过Spark编程统计某月份的客户总消费金额
实训2 通过Spark编程计算各城市的平均气温
【课后习题】
项目4 统计分析竞赛网站用户访问日志数据——Spark IDE编程
【学习目标】
【项目背景】
【思维导图】
【知识准备】
4.1 搭建Spark开发环境
4.1.1 下载与安装IntelliJ IDEA
4.1.2 Scala插件安装与使用
4.1.3 AI编程插件的安装与使用
4.1.4 配置Spark运行环境
4.1.5 运行Spark程序
4.2 Spark持久化和数据分区
4.2.1 设置RDD持久化(缓存)
4.2.2 设置数据分区
【项目实施】
任务4.1 计算竞赛网站每月的访问量
任务4.2 自定义分区保存
【项目小结】
【实训】
自定义分区器实现按人物标签进行数据区分
【课后习题】
项目5 分析水稻品种审定数据——Spark SQL结构化数据文件处理
【学习目标】
【项目背景】
【思维导图】
【知识准备】
5.1 Spark SQL简介
5.1.1 Spark SQL基本概念
5.1.2 配置Spark SQL
5.1.3 Spark SQL与Shell的交互
5.2 DataFrame基础操作
5.2.1 创建DataFrame对象
5.2.2 查看DataFrame数据
5.2.3 DataFrame查询操作
5.2.4 DataFrame输出操作
【项目实施】
任务5.1 获取数据
任务5.2 探索与预处理数据
任务5.3 统计分析数据内容
【项目小结】
【实训】
实训1 基于DataFrame实现教师教学质量统计分析
实训2:基于DataFrame实现学生成绩统计分析
【课后习题】
项目6 实时计算书籍热度——Spark Streaming实时计算框架
【学习目标】
【项目背景】
【思维导图】
【知识准备】
6.1 Spark Streaming简介
6.1.1 Spark Streaming框架
6.1.2 Spark Streaming运行原理
6.1.3 初步使用Spark Streaming
6.2 Dstream编程模型及其基础操作
6.2.1 DStream编程模型
6.2.2 使用DStream转换操作
6.2.3 使用DStream窗口操作
6.2.4 使用DStream输出操作
【项目实施】
任务6.1 获取输入数据源
任务6.2 计算用户评分次数及平均评分
任务6.3 计算书籍被评分次数及平均评分
任务6.4 实时计算书籍热度
【项目小结】
【实训】
实训1 使用Spark Streaming实现课程实时查找
实训2 使用Spark Streaming实时统计广告点击量前3名
【课后习题】
项目7 统计得分排名前10的网页——Spark GraphX图计算框架
【学习目标】
【项目背景】
【思维导图】
【知识准备】
7.1 Spark GraphX简介
7.1.1 图的基本概念
7.1.2 图计算的应用
7.1.3 GraphX的基本概念
7.1.4 GraphX的发展
7.2 GraphX常用API
7.2.1 创建与存储图
7.2.2 查询与转换数据
7.2.3 转换结构与关联聚合数据
【项目实施】
任务7.1 构建网页结构图
任务7.2 计算网页得分
任务7.3 找出排名前10的网页
任务7.4 完整程序实现
【项目小结】
【实训】
实训1 使用GraphX实现家庭关系网络图构建及查询
实训2 使用GraphX统计最具影响力用户
【课后习题】
项目8 饮用水源合格性检测——SparkMLlib机器学习算法库
【学习目标】
【项目背景】
【思维导图】
【知识准备】
8.1 机器学习算法简介
8.1.1 机器学习概念
8.1.2 机器学习算法
8.2 使用SparkMLlib机器学习算法库
8.2.1 SparkMLlib简介
8.2.2 SparkMLlib发展历史
8.2.3 算法与算法包
8.2.4 SparkMLlib中的模型评估
【项目实施】
任务8.1 读取数据
任务8.2 探索性数据分析
任务8.3 数据标准化
任务8.4 基于随机森林实现饮用水源合格性预测
【项目小结】
【实训】
实训1使用K-Means划分电影热度等级
实训2使用逻辑回归算法实现员工离职预测
【课后习题】
项目9 广告检测的流量作弊识别——Spark综合实战
【学习目标】
【项目背景】
【思维导图】
【项目实施】
任务9.1 分析需求
9.1.1 常见的流量作弊方式
9.1.2 需求分析
任务9.2 探索分析广告流量数据
9.2.1 数据说明
9.2.2 基础探索数据
9.2.3 探索虚假流量的数据特征
任务9.3 预处理数据并构建特征
9.3.1 删除缺失值字段
9.3.2 构建广告流量作弊识别特征
任务9.4 构建与评估分类模型
9.4.1 构建与评估逻辑回归模型
9.4.2 构建与评估随机森林模型
9.4.3 模型加载
【项目小结】
关于资源
本书提供配套的数据文件、程序代码,便于学生进行实际的操作及课外自学。此外,还提供了微课视频、PPT课件、教学大纲、教学进度表和教案等教学资源,充分地支持教师教学。
资源列表
内容筹备中,敬请期待!
视频列表
内容筹备中,敬请期待!










老师交流Q群
关注 "官方公众号"