注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2020年9月

出版社:西安电子科技大学出版社

以下为《Spark大数据分析与实战(高职)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 西安电子科技大学出版社
  • 9787560658117
  • 1版
  • 349597
  • 平装
  • 16开
  • 2020年9月
  • 344
  • 240
  • TP274
  • 自动化技术、计算技术
  • 高职高专教材
内容简介
Spark是当前主流的大数据计算框架,本书较为全面地介绍了Spark的基本知识。按照“项目驱动、任务导向”的理念,全书设计了七个项目,分别是搭建Spark环境、编写Scala程序处理4S店数据、Spark RDD分析交通违章记录、Spark SQL处理结构化学生信息、Spark编程进阶、Spark Streaming处理流数据及Spark ML实现电影推荐。
为了使读者迅速掌握Spark的基本知识,本书提供了大量编程实例及配套资源,包括源代码、软件、数据集、虚拟机、习题答案等;另外,为了进一步降低入门门槛,本书还提供了配置好开发环境的Ubuntu虚拟机,读者可通过使用Virtual Box等工具导入后,迅速开始Spark相关知识的学习,省却了大量的环境配置等工作。
本书既可作为大数据、计算机、软件工程、信息管理等相关专业的教材,也可以作为大数据技术爱好者的自学用书。
目录
项目一 搭建Spark环境 1
项目概述 1
项目演示 1
思维导图 2
任务1.1 认识大数据 2
1.1.1 大数据时代 2
1.1.2 大数据的普遍特征——4V 3
1.1.3 大数据的来源 5
1.1.4 大数据的处理过程 5
任务1.2 搭建Hadoop环境 6
1.2.1 认识Hadoop生态体系 7
1.2.2 Hadoop环境的搭建 8
1.2.3 Hadoop平台的初步体验 12
任务1.3 认识Spark 13
1.3.1 初识Spark 13
1.3.2 Spark中的运行框架与过程 16
1.3.3 Spark与Hadoop的比较 17
任务1.4 搭建Spark环境 19
1.4.1 Spark部署模式 19
1.4.2 Spark本地模式环境搭建 20
1.4.3 Spark的简单使用 21
1.4.4 Virtual Box中导入虚拟机 22
项目小结 24
课后练习 24
能力拓展 25
项目二 编写Scala程序处理4S店数据 26
项目概述 26
项目演示 26
思维导图 27
任务2.1 Scala的安装与体验 27
2.1.1 Scala简介 27
2.1.2 Scala的特性 28
2.1.3 Scala的下载与安装 28
2.1.4 轻松编写第一个Scala程序 29
2.1.5 在网页上编写Scala程序 31
任务2.2 查找并输出店铺的相关信息 32
2.2.1 数据类型 32
2.2.2 变量与常量 32
2.2.3 Scala中的运算符 34
2.2.4 if条件语句 36
2.2.5 Scala中的函数 37
2.2.6 使用函数查询4S店信息 39
任务2.3 统计广州4S店的数量 40
2.3.1 for循环 40
2.3.2 while、ile循环 41
2.3.3 数组 42
2.3.4 使用循环统计广州4S店的数量 43
任务2.4 分组统计4S店信息 43
2.4.1 元组 43
2.4.2 List 44
2.4.3 Set 46
2.4.4 Map 47
2.4.5 高阶函数 48
2.4.6 使用集合分组统计4S店的信息 51
任务2.5 编写独立应用程序对店铺数据进行
分析 52
2.5.1 类与对象 52
2.5.2 继承 53
2.5.3 特质 54
2.5.4 单例对象与伴生对象 55
2.5.5 模式匹配与样例类 56
2.5.6 文件的读/写 57
2.5.7 读取数据文件对4S店数据
进行分析 58
项目小结 59
课后练习 60
能力拓展 60
项目三 Spark RDD分析交通违章记录 61
项目概述 61
项目演示 61
思维导图 62
任务3.1 根据交通违章数据创建RDD 62
3.1.1 认识RDD 62
3.1.2 从Seq集合创建RDD 63
3.1.3 从外部存储创建RDD 65
3.1.4 从交通违法数据文件创建RDD 67
任务3.2 找出扣分最高的交通违法条目 67
3.2.1 map操作 68
3.2.2 使用collect查看元素 69
3.2.3 使用take(N)方法查询RDD中的
N个值 69
3.2.4 使用first操作得到第一个
元素值 69
3.2.5 flatMap操作 70
3.2.6 使用sortBy操作对RDD的
元素进行排序 70
3.2.7 找出扣分最多的三种交通
违法条目 71
任务3.3 查找某车辆的违章记录 72
3.3.1 filter操作过滤RDD的元素 72
3.3.2 distinct操作进行元素去重 73
3.3.3 union操作进行RDD合并 73
3.3.4 intersection操作求两个RDD的
共同元素 74
3.3.5 subtract操作求两个RDD的补 75
3.3.6 cartesian操作求两个RDD的
笛卡尔积 75
3.3.7 查找车辆AK0803的违章记录 75
任务3.4 查找违章3次以上车辆 76
3.4.1 键值对RDD 76
3.4.2 keys操作得到一个新RDD 77
3.4.3 values操作得到一个新RDD 77
3.4.4 lookup查找value 77
3.4.5 groupByKey 78
3.4.6 reduceByKey 78
3.4.7 mapValues对键值对RDD的
value进行处理 79
3.4.8 sortByKey排序 79
3.4.9 查找违章3次以上车辆 80
任务3.5 查找累计扣12分以上车辆信息 80
3.5.1 zip操作将两个RDD组合成
键值对RDD 81
3.5.2 join连接两个RDD 81
3.5.3 rightOuterJoin 82
3.5.4 leftOuterJoin 82
3.5.5 fullOuterJoin 82
3.5.6 查找累计扣12分以上
车辆信息 83
任务3.6 各类文件的读/写操作 85
3.6.1 读/写文本文件 85
3.6.2 读/写JSON格式的数据 86
3.6.3 读/写CSV、TSV格式文件 88
3.6.4 读/写SequenceFile文件 90
3.6.5 读取文件进行词频统计并
存储结果 91
3.6.6 将违章信息保存为TSV
格式文件 92
项目小结 94
课后练习 94
能力拓展 95
项目四 Spark SQL处理结构化学生数据 97
项目概述 97
项目演示 97
思维导图 98
任务4.1 初识结构化数据处理工具
Spark SQL 98
4.1.1 Spark SQL的产生 98
4.1.2 Spark SQL的特点 99
4.1.3 体验Spark SQL不同版本的
操作差异 99
任务4.2 认识DataFrame、Dataset
数据类型 100
4.2.1 认识DataFrame 100
4.2.2 认识Dataset 101
4.2.3 RDD、DataFrame、Dataset
三者的区别 102
任务4.3 由学生信息创建DataFrame 102
4.3.1 由学生信息JSON文件
创建DataFrame 102
4.3.2 printSchema打印DataFrame的
数据模式 103
4.3.3 show方法显示DataFrame中的
数据 103
4.3.4 获取DataFrame若干行记录 105
4.3.5 获取DataFrame所有记录 106
任务4.4 Spark SQL分析学生信息(1) 106
4.4.1 where方法 106
4.4.2 filter筛选相关数据 108
4.4.3 select方法 108
4.4.4 selectExpr方法 109
4.4.5 获取指定的Column 109
4.4.6 去掉指定的列 110
任务4.5 Spark SQL分析学生信息(2) 110
4.5.1 limit方法获取前N行 110
4.5.2 orderBy、sort排序 111
4.5.3 groupBy操作 112
4.5.4 distinct方法去重操作 113
4.5.5 agg操作 114
4.5.6 join操作 114
任务4.6 Spark SQL分析学生信息(3) 115
4.6.1 stat方法获取指定字段
统计信息 115
4.6.2 intersect方法获取两个
DataFrame的共有记录 116
4.6.3 操作字段名 116
4.6.4 处置空值 117
任务4.7 SQL语法风格处理学生信息 118
4.7.1 Spark SQL中的DSL风格与
SQL风格 118
4.7.2 创建临时视图 119
4.7.3 按条件查找学生信息 119
4.7.4 分组统计学生信息 119
4.7.5 用户自定义函数判断学生
是否成年 120
任务4.8 其他类型数据创建DataFrame 121
4.8.1 内存数据创建DataFrame 121
4.8.2 JSON文件创建DataFrame 122
4.8.3 CSV数据创建DataFrame 122
4.8.4 Parquet数据创建DataFrame 122
4.8.5 DataFrame数据保存到文件中 123
任务4.9 RDD、DataFrame与Dataset的
相互转换 123
4.9.1 使用反射机制由RDD生成
DataFrame 123
4.9.2 以编程方式由RDD生成
DataFrame 124
4.9.3 DataFrame转换为RDD 126
4.9.4 DataFrame与Dataset之间的
转换 126
任务4.10 通过JDBC连接MySQL
数据库 127
4.10.1 准备工作 127
4.10.2 读取MySQL表格创建
DataFrame 128
4.10.3 DataFrame数据写入MySQL 129
任务4.11 Spark SQL读/写Hive数据 130
4.11.1 编译源代码、创建支持Hive的
版本 130
4.11.2 读取Hive数据 130
项目小结 131
课后练习 132
能力拓展 132
项目五 Spark编程进阶 134
项目概述 134
项目演示 134
思维导图 134
任务5.1 搭建IntelliJ IDEA开发环境 135
5.1.1 下载安装IntelliJ IDEA 135
5.1.2 创建工程 141
5.1.3 修改l的内容 144
5.1.4 新建Scala文件、编写程序 146
5.1.5 在IDEA中运行程序 147
5.1.6 工程打包、提交集群运行 148
任务5.2 IDEA下用Spark RDD分析
Sogou日志 149
5.2.1 数据说明 150
5.2.2 需求分析 150
5.2.3 IDEA下编写程序 151
5.2.4 运行程序 153
任务5.3 IDEA下用Spark SQL分析
疫苗流向数据 153
5.3.1 数据说明 153
5.3.2 需求分析 154
5.3.3 IDEA下编写程序 154
5.3.4 运行程序 156
任务5.4 使用RDD缓存机制
提升效率 157
5.4.1 Spark 缓存机制概述 158
5.4.2 Spark RDD缓存体验 159
任务5.5 认识RDD广播变量和累加器 162
5.5.1 共享变量 162
5.5.2 广播变量 162
5.5.3 累加器 164
任务5.6 理解RDD的依赖关系 165
5.6.1 Spark RDD的执行流程 165
5.6.2 RDD间的依赖关系 166
5.6.3 检查点机制 167
项目小结 169
课后练习 169
能力拓展 169
项目六 Spark Streaming处理流数据 171
项目概述 171
项目演示 171
思维导图 171
任务6.1 初识流数据处理模块
Spark Streaming 172
6.1.1 Spark Streaming的产生 172
6.1.2 Spark Streaming的工作原理 173
6.1.3 用Spark-Shell编写第一个
Spark Streaming程序 174
6.1.4 用IDEA工具写第一个
Spark Streaming程序 177
6.1.5 编写Spark Streaming程序的
基本步骤 178
任务6.2 读取基础数据源到DStream中 178
6.2.1 读取文件流 178
6.2.2 读取套接字流 180
6.2.3 读取RDD队列流 180
任务6.3 读取Kafka数据到DStream中 182
6.3.1 Spark Streaming支持的高级
数据源 182
6.3.2 了解Kafka的工作原理 182
6.3.3 Kafka的安装与测试 183
6.3.4 编写Spark Streaming程序找出
超速车辆 185
任务6.4 DStream的转换操作 187
6.4.1 DStream无状态转换操作 187
6.4.2 DStream有状态转换操作 190
任务6.5 DStream的输出操作 193
6.5.1 DStream写入到文本文件 194
6.5.2 DStream写入到MySQL
数据库的方法分析 195
6.5.3 车辆定位数据写入到
MySQL数据库 196
任务6.6 Spark Streaming实时处理
电商用户行为数据 198
6.6.1 数据集说明与准备工作 199
6.6.2 任务整体思路 200
6.6.3 Kafka的相关准备工作 200
6.6.4 创建MySQL数据库、
数据库表 200
6.6.5 数据写入Kafka主题中 201
6.6.6 Spark Streaming处理userbehavior
主题中的数据 202
6.6.7 运行结果分析 204
项目小结 204
课后练习 205
能力拓展 205
项目七 Spark ML实现电影推荐 206
项目概述 206
项目演示 206
思维导图 206
任务7.1 初识Spark机器学习 207
7.1.1 机器学习概述 207
7.1.2 机器学习的应用场景 208
7.1.3 Spark机器学习库 208
任务7.2 使用Spark ML进行数据
特征提取与转换 209
7.2.1 特征提取 209
7.2.2 特征转换 212
任务7.3 Spark分类与聚类 215

7.3.1 朴素贝叶斯分类 215
7.3.2 k-means聚类 218
任务7.4 使用协同过滤算法进行
电影推荐 220
7.4.1 推荐算法原理与分类 220
7.4.2 利用Spark ML实现电影推荐 221
项目小结 223
课后练习 223
能力拓展 224
参考文献 226