大数据技术精品系列教材

Spark大数据技术与应用(第2版)(微课版)

“十三五”职业教育国家规划教材
分享 推荐 0 收藏 25 阅读 1.8K
肖芳 , 张良均 (主编) 张天俊 , 席红旗 , 王宏刚 (副主编) 978-7-115-59510-2

关于本书的内容有任何问题,请联系 初美呈

1. 以任务为导向,全面讲解Spark基础知识
2. 随书附带案例数据及代码,方便读者系统学习并动手实践
3. 实战案例丰富
4. 配有微课视频,学习更方便
5. “十三五”职业教育国家规划教材全新改版

内容摘要

本书以任务为导向,较为全面地介绍Spark大数据技术的相关知识。全书共9章,具体内容包括Spark概述、Scala基础、Spark编程基础、Spark编程进阶、Spark SQL—结构化数据文件处理、Spark Streaming—实时计算框架、Spark GraphX—图计算框架、Spark MLlib—功能强大的算法库,以及项目案例—广告检测的流量作弊识别。本书的大部分章节包含实训与课后习题,通过练习和实践操作,可以帮助读者巩固所学的内容。
本书可以作为高校大数据技术类专业教材,也可作为大数据技术爱好者的自学用书。

目录

目录

第 1章 Spark概述 1
任务1.1 认识Spark 1
1.1.1 了解Spark的发展历史 1
1.1.2 了解Spark的特点 2
1.1.3 认识Spark的生态圈 4
1.1.4 了解Spark的应用场景 5
任务1.2 搭建Spark集群 6
1.2.1 搭建单机版集群 6
1.2.2 搭建单机伪分布式集群 6
1.2.3 搭建完全分布式集群 7
任务1.3 了解Spark运行架构与原理 11
1.3.1 了解Spark架构 11
1.3.2 了解Spark作业运行流程 12
1.3.3 了解Spark核心数据集RDD 15
1.3.4 了解Spark核心原理 17
小结 19
课后习题 19
第 2章 Scala基础 20
任务2.1 安装与运行Scala 21
2.1.1 了解Scala语言 21
2.1.2 了解Scala特性 21
2.1.3 安装Scala 22
2.1.4 运行Scala 24
任务2.2 定义函数识别号码类型 24
2.2.1 了解数据类型 25
2.2.2 定义与使用常量、变量 25
2.2.3 使用运算符 26
2.2.4 定义与使用数组 27
2.2.5 定义与使用函数 30
2.2.6 任务实现 32
任务2.3 统计广州号码段数量 33
2.3.1 使用if判断 34
2.3.2 使用for循环 35
2.3.3 任务实现 36
任务2.4 根据归属地对手机号码段进行分组 37
2.4.1 定义与使用列表 37
2.4.2 定义与使用集合 39
2.4.3 定义与使用映射 39
2.4.4 定义与使用元组 40
2.4.5 使用函数组合器 40
2.4.6 任务实现 41
任务2.5 编写手机号码归属地信息查询程序 42
2.5.1 定义Scala类 42
2.5.2 使用Scala单例模式 44
2.5.3 使用Scala模式匹配 45
2.5.4 读写文件 46
2.5.5 任务实现 46
小结 47
实训 47
实训1 使用Scala编写函数过滤文本中的回文单词 47
实训2 使用Scala编程输出九九乘法表 48
课后习题 49
第3章 Spark编程基础 51
任务3.1 读取员工薪资数据创建RDD 52
3.1.1 从内存中读取数据创建RDD 52
3.1.2 从外部存储系统中读取数据创建RDD 53
3.1.3 任务实现 54
任务3.2 查询上半年实际薪资排名前3的员工信息 55
3.2.1 使用map()方法转换数据 55
3.2.2 使用sortBy()方法进行排序 55
3.2.3 使用collect()方法查询数据 56
3.2.4 使用flatMap()方法转换数据 57
3.2.5 使用take()方法查询某几个值 57
3.2.6 任务实现 58
任务3.3 查询上半年或下半年实际薪资大于20万元的员工姓名 59
3.3.1 使用union()方法合并多个RDD 59
3.3.2 使用filter()方法进行过滤 60
3.3.3 使用distinct()方法进行去重 60
3.3.4 使用简单的集合操作 60
3.3.5 任务实现 62
任务3.4 输出每位员工2020年的总实际薪资 63
3.4.1 了解键值对RDD 63
3.4.2 创建键值对RDD 64
3.4.3 使用键值对RDD的keys和values方法 64
3.4.4 使用键值对RDD的reduceByKey()方法 65
3.4.5 使用键值对RDD的groupByKey()方法 66
3.4.6 任务实现 66
任务3.5 查询每位员工2020年的月均实际薪资 67
3.5.1 使用join()方法连接两个RDD 67
3.5.2 使用zip()方法组合两个RDD 69
3.5.3 使用combineByKey()方法合并相同键的值 70
3.5.4 使用lookup()方法查找指定键的值 71
3.5.5 任务实现 71
任务3.6 存储汇总后的员工薪资为文本文件 72
3.6.1 读取与存储JSON文件 72
3.6.2 读取与存储CSV文件 75
3.6.3 读取与存储SequenceFile文件 78
3.6.4 读取与存储文本文件 79
3.6.5 任务实现 80
小结 82
实训 82
实训1 通过Spark编程统计某月份的客户总消费金额 82
实训2 通过Spark编程计算各城市的平均气温 82
课后习题 83
第4章 Spark编程进阶 86
任务4.1 搭建Spark开发环境 87
4.1.1 下载与安装IntelliJ IDEA 87
4.1.2 Scala插件安装与使用 89
4.1.3 配置Spark运行环境 94
4.1.4 运行Spark程序 96
任务4.2 统计分析竞赛网站用户访问日志数据 104
4.2.1 设置RDD持久化 104
4.2.2 设置数据分区 105
4.2.3 计算竞赛网站每月的访问量 109
4.2.4 任务实现 111
小结 112
实训 自定义分区器实现按人物标签进行数据区分 112
课后习题 113
第5章 Spark SQL—结构化数据文件处理 116
任务5.1 认识Spark SQL 117
5.1.1 了解Spark SQL基本概念 117
5.1.2 配置Spark SQL 117
5.1.3 了解Spark SQL与Shell交互 119
任务5.2 掌握DataFrame基础操作 120
5.2.1 创建DataFrame对象 120
5.2.2 查看DataFrame数据 122
5.2.3 掌握DataFrame查询操作 125
5.2.4 掌握DataFrame输出操作 134
任务5.3 探索分析房屋售价数据 136
5.3.1 获取数据 136
5.3.2 探索字段值分布 137
5.3.3 统计各季度房屋销量和销售额 139
5.3.4 探索分析房屋评分 141
5.3.5 探索修缮过的房屋房龄分布 142
5.3.6 任务实现 143
小结 145
实训 146
实训1 基于DataFrame实现老师教学质量统计分析 146
实训2 基于DataFrame实现学生成绩统计分析 147
课后习题 148
第6章 Spark Streaming—实时计算框架 150
任务6.1 初识Spark Streaming 151
6.1.1 了解Spark Streaming基本概念 151
6.1.2 了解Spark Streaming运行原理 151
6.1.3 初步使用Spark Streaming 152
任务6.2 掌握DStream基础操作 155
6.2.1 了解DStream编程模型 155
6.2.2 使用DStream转换操作 155
6.2.3 使用DStream窗口操作 157
6.2.4 使用DStream输出操作 160
任务6.3 实现书籍热度实时计算 165
6.3.1 获取输入数据源 165
6.3.2 计算用户评分次数及平均评分 168
6.3.3 计算书籍被评分次数及平均评分 169
6.3.4 实时计算书籍热度 171
6.3.5 任务实现 172
小结 174
实训 174
实训1 使用Spark Streaming实现课程实时查找 174
实训2 使用Spark Streaming实时统计广告点击量前3名 175
课后习题 176
第7章 Spark GraphX—图计算框架 179
任务7.1 认识Spark GraphX 180
7.1.1 了解图的基本概念 180
7.1.2 了解图计算的应用 181
7.1.3 了解GraphX的基础概念 181
7.1.4 了解GraphX的发展历程 181
任务7.2 了解GraphX常用API 182
7.2.1 创建与存储图 182
7.2.2 查询与转换数据 188
7.2.3 转换结构与关联聚合数据 195
任务7.3 统计网页价值排名前10的网页 203
7.3.1 构建网页结构图 203
7.3.2 计算网页得分 204
7.3.3 找出排名前10的网页 204
7.3.4 任务实现 205
小结 207
实训 207
实训1 使用Spark GraphX实现家庭关系网络图构建及查询 207
实训2 使用Spark GraphX统计最具影响力用户 208
课后习题 210
第8章 Spark MLlib—功能强大的算法库 213
任务8.1 了解MLlib算法库 215
8.1.1 了解机器学习算法 215
8.1.2 使用MLlib 216
任务8.2 使用决策树算法实现网络攻击类型识别 232
8.2.1 分析思路 232
8.2.2 探索分析数据 233
8.2.3 数据特征处理 236
8.2.4 MLlib实现决策树 238
8.2.5 任务实现 240
小结 243
实训 243
实训1 使用K-Means划分电影热度等级 243
实训2 使用逻辑回归算法实现提升员工工作满意度 244
课后习题 245
第9章 项目案例—广告检测的流量作弊识别 248
任务9.1 分析需求 248
9.1.1 常见的广告流量作弊方式 249
9.1.2 分析需求 249
任务9.2 探索分析广告流量数据 250
9.2.1 数据说明 250
9.2.2 基础探索数据 251
9.2.3 探索作弊流量的数据特征 255
任务9.3 预处理数据并构建特征 259
9.3.1 删除缺失值字段 259
9.3.2 构建广告流量作弊识别特征 260
任务9.4 构建与评估分类模型 265
9.4.1 构建与评估逻辑回归模型 265
9.4.2 构建与评估随机森林模型 267
9.4.3 模型加载 269
小结 270

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

肖芳,女,高级工程师。大学毕业后从事计算机软件的研究、设计、开发、实施等方面近十年,具有多年计算机软件开发与软件项目管理经验。后进入广东水利电力职业技术学院计算机系(目前为大数据与人工智能学院)担任专业教师,担任过大数据数学基础,Spark大数据快速运算、智能推荐等多门课程教学工作,曾主持和参加过多次科技厅局科研课题,负责和参加过十几项横向项目,获得过中国科学院广州分院、广东省科学院科技成果开发二等奖。在各类期刊上发表过多篇论文。指导学生毕业设计获得过学院毕业设计特别指导奖。
张良均,资深大数据专家,广东泰迪智能科技股份有限公司董事长,国家科技部入库技术专家,教育部全国专业学位水平评估专家,工信部教育与考试中心入库专家,中国工业与应用数学学会理事,广东省工业与应用数学学会副理事长,广东省高等职业教育教学指导委员会委员,华南师范大学、中南财经政法大学等40余所高校校外硕导或兼职教授,泰迪杯全国数据挖掘挑战赛发起人。曾在国内外重要学术刊物上发表学术论文10余篇,主导编写图书专著60余部,其中获普通高等教育“十一五”规划教材一部,“十三五”职业教育国家规划教材一部;参与标准建设4项,主持国家级课题1项、省部级课题4项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有信访、电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景,并荣获中国产学研合作促进奖、中国南方电网公司发明专利一等奖、广东省农业技术推广二等奖、广州市荔湾区科学技术进步奖。

同系列书

  • Python数据分析与应用

    黄红梅 张良均 张凌 施兴 周东平

    本书以任务为导向,全面地介绍数据分析的流程和Python数据分析库的应用,详细讲解利用Python解决企业实际...

    ¥49.80
  • Python中文自然语言处理基础与实战

    肖刚 张良均 郑鑫标 罗惠琳 陈晓娜

    本书以Python自然语言处理的常用技术与真实案例相结合的方式,深入浅出地介绍Python自然语言处理的重要内...

    ¥59.80
  • Python编程基础

    张健 张良均 何燕 张敏 姜鹏辉

    本书采用以任务为导向的编写模式,全面地介绍了Python编程基础及其相关知识的应用,讲解了如何利用Python...

    ¥39.80
  • Python网络爬虫技术

    江吉彬 张良均 詹增荣 戴华炜 郭信佑

    本书以任务为导向,较为全面地介绍了不同场景下Python爬取网络数据的方法,包括静态网页、动态网页、登录后才能...

    ¥39.80
  • 大数据数学基础(Python语言描述)

    雷俊丽 张良均 王玉宝 王熠 周东平

    本书全面地讲解了在科学领域广泛运用的微积分、概率论与数理统计、线性代数、数值计算、多元统计分析等数学基础知识。...

    ¥49.80

相关图书

单击此处加入人邮大数据教师服务群,共同探讨交流。
人邮微信
本地服务
人邮微信
教师服务
微信二维码
读者服务
读者服务
返回顶部
返回顶部