Spark大数据技术基础与应用(Scala+Python版)

-
【作 者】林徐 潘立琼 杨建柏
【I S B N 】978-7-5226-3536-1
【责任编辑】魏渊源
【适用读者群】本专通用
【出版时间】2025-08-21
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】244
【千字数】390
【印 张】15.25
【定 价】¥49
【丛 书】普通高等教育数据科学与大数据技术专业教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书以Scala和Python两种编程语言为工具详细介绍了Spark的功能和技术,讲解了Scala和Python的语言基础;深入探讨了Spark的系统原理、系统架构和运行机理,并提供了详细的安装指南;在数据处理方面详细介绍了Spark的RDD编程、结构化数据处理和流数据处理;涉及Spark在机器学习和图计算领域的应用,包括ML库的使用、机器学习流水线的构建、GraphX和GraphFrames的图计算操作;通过丰富的编程实例帮助读者深入理解Spark在大数据处理中的应用。
本书面向应用型本科高校数据科学与大数据技术专业的Spark相关课程教学,也可用于职业院校相应课程的教学,还可作为大数据行业从业人员及大数据技术爱好者的学习用书。
双语言并行诠释——Scala 和Python 编程解析Spark 技术原理
教学资源体系化支撑——构建“理论+ 实践+ 实验”一体化资源体系
思政深度融入——融合知识点与思政元素,体现科技发展与创新
视频讲解覆盖操作全流程——操作与实验环节配套视频,降低实践门槛
Apache Spark作为一款迅速崛起的大数据处理引擎,以卓越的性能、广泛的兼容性和高度的集成性,在大数据生态系统中占据举足轻重的地位。Spark不仅提供丰富的API接口,支持Scala、Java、Python、R等编程语言,还以独特的魅力吸引不同背景的开发者和数据科学家,成为大数据处理领域的首选工具。
编者精心编纂本书,旨在为读者呈现一本全面、系统且实用的Spark学习指南,助力读者快速掌握Spark的基础知识和应用技能。全书逻辑清晰、结构严谨,从语言基础到系统原理,从RDD编程到结构化数据处理,从流数据处理到机器学习,再到图计算,层层递进,逐步引领读者进入Spark的广阔世界。
第1章聚焦Scala与Python在Spark中的应用基础,为后续学习奠定坚实的语言基础;第2章引领读者步入Spark的殿堂,全面了解其定义、起源、特点、优势,并与其他大数据处理工具进行对比分析,为读者提供宏观的视角和深入的理解;第3章至第7章是本书核心部分,深入剖析了Spark的各方面:第3章详细介绍RDD的编程模型,涵盖RDD的创建、转换、行动、持久化等核心概念,并通过生动的实例展现RDD编程的无限魅力;第4章聚焦Spark结构化数据处理,讲解Spark SQL和DataFrame的高效应用,帮助读者轻松应对结构化数据的处理与分析挑战;第5章转向流数据处理领域,介绍Spark Streaming和Structured Streaming的基本概念与操作,为读者打开了实时数据处理的神秘大门;第6章引领读者进入机器学习领域,深入剖析Spark MLlib库的功能与特点,并展示常用机器学习算法的实现过程;第7章聚焦图计算领域,介绍GraphX和GraphFrames库的基本操作与使用方法,拓展Spark的应用边界;第8章为读者提供一个针对实际问题的Spark综合应用案例。
在编写本书的过程中,编者充分考虑了不同读者的需求与背景,特别提供了Scala和Python两种主流语言来诠释各章内容,旨在让读者在体验两种语言相通之处的同时将学习重心聚焦Spark的核心功能。
本书兼顾普通高等教育与职业教育的需求,旨在打破二者间的壁垒,实现融合与互补。因此,本书不仅适用于应用型本科高校的Spark相关课程教学,还可作为职业院校Spark课程的教材。
为便于读者学习与实践,本书在相关章节介绍了Spark系统的安装与开发环境的配置方法,同时提供了Windows系统下单机简化版的大数据环境,读者可以不必因为大数据环境烦琐的安装步骤而耽误学习主要内容。读者可通过万水书苑(http://www.wsbookshow.com)中的本书版块获取该大数据环境及其他教学资源。
本书微课视频主要集中在各章案例部分,读者可以对照视频学习具体案例步骤。本书实验环节及综合案例主要由新道科技股份有限公司的青椒课堂平台(https://www.qingjiaoclass.com)提供,读者也可以使用该平台提供的实训环境学习和练习。
本书编写团队汇聚了安徽三联学院、安徽中医药大学、安徽新华学院的骨干教师及新道科技股份有限公司的资深工程师,其中林徐、潘立琼、杨建柏任主编,谌婧娇、徐志鹏、姚丽莎、何姗姗、黄锐任副主编,陈姗姗、解中华参与编写。在此,我们衷心感谢各院校、公司及中国水利水电出版社的大力支持和鼎力相助。
尽管我们已竭尽全力追求内容的完美与实用,但难免存在疏漏之处,在此诚挚邀请读者提出宝贵的意见和建议,以便我们不断改进与完善本书,为读者提供更好的学习体验。
1.1 Scala的安装与运行 1
1.1.1 Scala的下载与安装 1
1.1.2 Scala的编程环境配置 2
1.2 Scala的语法基础 3
1.2.1 Scala的常量与变量 3
1.2.2 Scala的运算符和程序控制结构 6
1.3 Scala的集合类型 7
1.3.1 数组 8
1.3.2 元组 12
1.3.3 集合 14
1.3.4 列表 16
1.3.5 映射 17
1.4 Scala的函数和函数式编程 19
1.4.1 Scala的函数定义和调用 19
1.4.2 Scala的高级函数 21
1.5 Scala类与模式匹配 23
1.5.1 Scala类 23
1.5.2 单例类 25
1.5.3 模式匹配 26
1.6 Python的匿名函数、闭包和装饰器 27
1.6.1 Python的匿名函数 27
1.6.2 Python的闭包 29
1.6.3 Python的装饰器 30
实验 31
习题 32
课程思政案例 33
第2章 Spark系统原理 35
2.1 Spark概述 35
2.1.1 Spark的定义和起源 35
2.1.2 Spark的主要特点和优势 36
2.1.3 Spark与其他大数据处理工具的比较 39
2.2 Spark系统架构和运行机理 40
2.2.1 Spark的整体架构概览 40
2.2.2 Spark集群的核心组件和运行模式 41
2.2.3 Spark集群的运行机理和作业执行流程 43
2.3 Spark系统安装 46
2.3.1 安装前的准备工作 46
2.3.2 安装Spark的步骤和指南 47
2.3.3 启动Spark集群和Pyspark的安装 47
2.3.4 Spark开发环境配置与项目发布 49
实验 54
习题 54
课程思政案例 55
第3章 Spark的RDD编程 56
3.1 RDD的原理 56
3.1.1 RDD的性质 56
3.1.2 RDD的依赖关系 57
3.2 RDD的创建 59
3.2.1 通过外部数据源创建RDD 59
3.2.2 通过已有RDD创建新RDD 62
3.3 RDD的转换操作 63
3.3.1 值转换操作 63
3.3.2 键值对转换操作 65
3.3.3 集合转换操作 68
3.4 RDD的行动操作 72
3.4.1 聚合操作 72
3.4.2 集合操作 75
3.4.3 行动操作到外部系统 76
3.5 RDD的持久化 80
3.5.1 RDD持久化的意义 80
3.5.2 RDD的存储级别 80
3.5.3 使用持久化 81
3.6 RDD的编程实例 82
3.6.1 实例1 82
3.6.2 实例2 83
3.6.3 实例3 85
3.6.4 实例4 86
3.6.5 实例5 88
实验 90
习题 90
课程思政案例 92
第4章 Spark结构化数据处理 93
4.1 Spark SQL简介 93
4.1.1 Spark SQL的概念 93
4.1.2 Spark SQL的优势 95
4.2 DataFrame的创建 96
4.2.1 DataFrame 与 DataSet 96
4.2.2 从RDD转换为DataFrame 98
4.2.3 DataFrame读写文件 100
4.3 DataFrame的常用操作 105
4.3.1 列的操作 105
4.3.2 过滤数据 107
4.3.3 排序数据 107
4.3.4 分组聚合 108
4.3.5 连接操作 109
4.3.6 其他常见操作 110
4.4 Spark SQL操作各类数据源 112
4.4.1 Spark SQL读写MySQL数据库 112
4.4.2 Spark SQL读写HIVE 115
4.5 Spark SQL编程实例 116
实验 120
习题 121
课程思政案例 121
第5章 Spark流数据处理 123
5.1 Spark Streaming概述 123
5.1.1 Spark Streaming介绍 123
5.1.2 第一个Spark Streaming程序 125
5.2 DStream基本操作 128
5.2.1 DStream的创建 128
5.2.2 DStream的转换 132
5.2.3 DStream的输出 138
5.3 Structured Streaming结构化流 140
5.3.1 Structured Streaming概述 140
5.3.2 Structured Streaming操作 143
5.3.3 Structured Streaming高级特性 147
5.4 Spark Streaming编程实例 151
实验 155
习题 156
课程思政案例 157
第6章 Spark机器学习 158
6.1 Spark机器学习库概述 158
6.1.1 机器学习简介 158
6.1.2 Spark MLlib 159
6.1.3 Spark ML 159
6.2 基本数据类型 159
6.2.1 本地向量 160
6.2.2 标签点 161
6.2.3 本地矩阵 161
6.2.4 数据源 163
6.3 机器学习流水线 165
6.3.1 转换器和评估器 166
6.3.2 流水线 171
6.4 特征工程 174
6.4.1 特征提取 175
6.4.2 特征转换 175
6.4.3 特征选择 177
6.5 常用机器学习算法 177
6.5.1 回归算法 178
6.5.2 分类算法 181
6.5.3 聚类算法 186
6.5.4 推荐算法 189
6.5.5 模型选择 194
实验 195
习题 196
课程思政案例 197
第7章 Spark图计算 199
7.1 GraphX简介 199
7.2 GraphX基本操作 200
7.2.1 创建图 200
7.2.2 图操作 201
7.2.3 图算法 208
7.3 GraphX编程实例 211
7.4 Spark GraphFrames库的使用 213
7.4.1 GraphFrames简介 213
7.4.2 GraphFrames的基本数据结构 214
7.4.3 使用GraphFrames进行图查询和操作 216
7.5 Spark GraphFrames(Python)编程实例 219
实验 221
习题 222
课程思政案例 223
第8章 视频网站访问量实时分析案例 224
8.1 项目介绍 224
8.1.1 项目背景 224
8.1.2 数据说明 225
8.1.3 技术框架 225
8.1.4 项目任务 225
8.1.5 最终效果 226
8.2 项目模块实现 227
8.2.1 数据生产模块 227
8.2.2 数据采集模块 228
8.2.3 数据分析模块 230
8.2.4 数据展示模块 233
参考文献 237
- 信息技术与人工智能 [主编 王锦]
- 信息技术基础(活页式) [主编 赵金考 禹晨 张尼奇 王宏斌]
- 计算机程序员教程 [主编 李学国 任小平]
- 水利水电工程施工组织设计 [主编 胡建春 钱波 何茜]
- 信息技术 [主编 任洪亮 邢海燕]
- 高职美育 [王敦]
- 系统分析师考前冲刺100题(适配第2版考纲) [施游 邹月平 朱小平 编著]
- 用英语介绍中国名城古镇 [王宝川 张元婧 编著]
- 世界文化遗产精选:看人文经典学英文 [何媛 编译]
- 网络安全系统集成 [鲁先志 何倩]
- Python统计分析项目化教程 [章小华 孙伟男 于虹博 李文龙]
- 交换路由技术(微课版) [喻林 卞孝丽]
- 新一代网络技术与应用 [路立勋 周宝]
- Python程序设计 [李宇]
- 机械设计基础作业集 [田亚平 李爱姣]
- 用英语讲中国金句(微课版) [白阳明 编著]
- 大学计算机基础上机实践教程(第八版) [主编 罗奕 钱前]
- 线性代数(第三版) [主编 江志超]
- 大学计算机基础 (第八版) [主编 罗 奕 胡绿慧]
- 大学计算机与人工智能基础 [主编 崔岩]
- 长江经济带上游白酒文化旅游数字化融合创新研究 [李杰 著]
- 大学计算机基础案例教程(第五版) [主编 张小雨 吴瀚霖]
- 体育与健康 [主编 刘传栋 ]
- 人工智能物联网应用(基于树莓派) [主编 陈少锋 冯健明 郭晓花]
- 大学生劳动教育 [蹇兴超 陈秀泉]
- 村镇生活污水处理适用技术及工程示范 [刘秉涛 李发站 陈伟胜 著]
- 网络管理员5天修炼 (适配第6版考纲) [朱小平 施游 编著]
- 全球科技新知精选:看前沿科技学英文 [王琼 曹阳 编译]
- 信息技术基础(WPS Office) [阳晓霞 周永福 钟建坤 刘婧莉]
- 基于人文教育的大学英语创新教育实践研究 [段筱箫 著]