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

Spark大数据技术与应用(微课版)
分享 推荐 0 收藏 19 阅读 2.4K
千锋 (作者) 978-7-115-63009-4

关于本书的内容有任何问题,请联系 李召

1.融入应用场景,理论讲解与实践相结合。
2.配套资源丰富,配有教学辅助平台及教师服务群。
3.基础知识+案例指导+综合应用。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的教材,也可供相关技术人员参考。

内容摘要

本书以初学者的角度详细介绍Spark架构的核心技术,主要围绕着Spark的架构、Spark的开发语言、Spark模块的主要功能展开;以IDEA为主要开发工具,CentOS为运行环境系统,采用“理实一体化”授课模式。本书共10章,内容包括Spark导论、Spark环境搭建与使用、Scala语言、Spark弹性分布式数据集、Spark SQL与DataFrame、Kafka分布式发布-订阅消息系统、Spark Streaming实时计算框架、Spark MLlib 机器学习算法库、Redis数据库、综合案例——Spark电商实时数据处理。此外,本书还配置了丰富的示例或案例。通过本书的学习,读者可以充分理解常用数据预处理方法的精髓,掌握具体技术细节,并在实践中提升实际开发能力,为学习大数据技能打下扎实基础。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等相关专业的教材,也可供相关技术人员参考。

诚邀您加入【人邮社大数据教师交流群】

目录

第1章 Spark导论 1
1.1 认识Spark 1
1.1.1 Spark的演进路线 1
1.1.2 Spark的特点 2
1.1.3 Spark与Hadoop的联系 3
1.2 Spark的生态系统 4
1.2.1 Spark Core 5
1.2.2 Spark SQL 5
1.2.3 Spark Streaming 5
1.2.4 Spark MLlib 5
1.2.5 Spark GraphX 5
1.3 Spark运行模式 5
1.3.1 Standalone模式 6
1.3.2 Mesos模式 6
1.3.3 YARN模式 6
1.4 Spark架构 6
1.4.1 Spark架构组成 6
1.4.2 Spark架构运行流程 7
1.4.3 Spark架构特点 7
1.5 Spark应用场景 8
1.6 本章小结 8
1.7 习题 8
第2章 Spark环境搭建与使用 10
2.1 搭建环境前的准备 10
2.1.1 Spark的下载 10
2.1.2 Scala的下载 11
2.1.3 Spark的前置配置 13
2.2 Spark集群的部署与操作 14
2.2.1 Spark集群的部署 14
2.2.2 Spark集群的启动与停止 17
2.3 第一个Spark程序 19
2.4 Spark Shell的启动 21
2.5 本章小结 21
2.6 习题 21
第3章 Scala语言 23
3.1 Scala简介 23
3.1.1 什么是Scala 23
3.1.2 Scala的特性 24
3.1.3 Scala的优势 24
3.2 Scala的安装 25
3.2.1 Windows下安装Scala
编译器 25
3.2.2 Linux下安装Scala
编译器 26
3.3 Scala基础 26
3.3.1 Scala快速入门 26
3.3.2 在IntelliJ IDEA中创建Scala
项目 27
3.4 Scala的基本语法 28
3.4.1 声明变量 29
3.4.2 定义字符串 29
3.4.3 数据类型 31
3.4.4 运算符 32
3.4.5 块表达式 33
3.5 Scala的流程控制结构 33
3.5.1 顺序结构 33
3.5.2 分支结构 34
3.5.3 循环结构 36
3.5.4 breakable和break()方法 38
3.6 Scala的方法与函数 39
3.6.1 Scala中方法的定义和调用 39
3.6.2 Scala中函数的定义和调用 42
3.6.3 Scala中将方法转换成函数 43
3.7 Scala面向对象的特性 44
3.7.1 类和对象 44
3.7.2 private关键字 45
3.7.3 继承 45
3.7.4 单例对象 46
3.7.5 伴生对象 46
3.7.6 构造器 47
3.7.7 特质 48
3.7.8 抽象类 50
3.8 Scala的数据结构 50
3.8.1 数组 50
3.8.2 元组 52
3.8.3 集合 53
3.9 lazy关键字 56
实战训练:数组合并去重 57
3.10 本章小结 59
3.11 习题 59
第4章 Spark弹性分布式数据集 61
4.1 RDD简介 61
4.1.1 RDD的产生背景 61
4.1.2 RDD的特性 62
4.2 RDD的创建操作 64
4.2.1 从文件系统中加载数据创建
RDD 64
4.2.2 通过并行集合创建RDD 64
4.2.3 从父RDD转换成新的子
RDD 64
4.3 RDD算子 64
4.3.1 转换算子 65
4.3.2 动作算子 71
4.3.3 RDD常用算子练习 72
4.3.4 算子进阶 74
实战训练4-1:WordCount词频统计
案例 77
4.4 RDD的分区 78
4.5 RDD的依赖关系 79
4.5.1 划分依赖的背景 79
4.5.2 划分依赖的依据 80
4.5.3 窄依赖 80
4.5.4 宽依赖 80
4.5.5 Stage的划分 81
4.6 RDD机制 81
4.6.1 持久化机制 81
4.6.2 RDD缓存方式 81
4.6.3 容错机制Checkpoint 82
4.7 Spark作业流程 83
4.7.1 DAG的生成 83
4.7.2 任务调度流程 83
4.7.3 提交任务的4个阶段 84
4.8 共享变量 84
4.8.1 广播变量 85
4.8.2 累加器 85
实战训练4-2:通过相关信息计算用户
停留时间 85
实战训练4-3:统计学生信息 87
4.9 本章小结 92
4.10 习题 93
第5章 Spark SQL、DataFrame和
DataSet 95
5.1 Spark SQL简介 95
5.1.1 Spark SQL的概念 95
5.1.2 Spark SQL的特点 96
5.1.3 Spark SQL的运行架构 97
5.2 DataFrame基础知识 98
5.2.1 DataFrame概念 98
5.2.2 创建DataFrame对象 99
5.2.3 DataFrame常用操作 99
5.3 DataSet基础知识 100
5.3.1 DataSet编程 101
5.3.2 DataSet的DSL风格操作 101
5.4 将RDD转为DataFrame的
操作 102
5.4.1 通过反射推断Schema 102
5.4.2 DSL风格语法 103
5.4.3 通过StructType直接指定
Schema 104
5.5 RDD、DataFrame和DataSet的
区别 105
5.5.1 RDD的优缺点 105
5.5.2 DataFrame的优缺点 106
5.5.3 DataSet的优缺点 106
5.5.4 Spark SQL的性能与优化 106
5.6 通过Spark SQL操作数据源 106
5.6.1 操作MySQL数据源 106
5.6.2 操作Hive数据源 108
实战训练5-1:获取连续活跃用户的
记录 108
实战训练5-2:计算店铺销售额 110
5.7 本章小结 113
5.8 习题 113
第6章 Kafka分布式发布-订阅消息
系统 115
6.1 Kafka简介 115
6.1.1 什么是Kafka 115
6.1.2 消息系统简介 116
6.1.3 Kafka术语 117
6.2 Kafka与传统消息系统的区别 117
6.2.1 应用场景 117
6.2.2 架构模型 118
6.2.3 吞吐量 118
6.2.4 可用性 118
6.2.5 集群负载均衡 118
6.3 Kafka工作原理 118
6.3.1 Kafka的拓扑结构 118
6.3.2 分析Kafka工作流程 119
6.4 Kafka集群的部署与测试 121
6.4.1 集群部署的基础环境准备 121
6.4.2 安装Kafka 121
6.4.3 启动Kafka服务并进行
测试 123
6.5 Kafka的入门使用 124
6.5.1 Kafka命令行的入门使用 124
6.5.2 Kafka API案例 124
6.6 Kafka整合Flume 126
6.7 Kafka涉及的问题 127
6.7.1 存储机制 127
6.7.2 Kafka是如何保证数据
不丢失的 127
6.7.3 如何消费已经被消费过的
数据 128
6.7.4 Kafka Partition和Consumer的
数量关系 128
6.7.5 Kafka Topic 副本问题 129
6.7.6 ZooKeeper如何管理
Kafka 129
实战训练:使用Kafka生产车辆模拟
信息 129
6.8 本章小结 133
6.9 习题 133
第7章 Spark Streaming实时计算
框架 135
7.1 流式计算概述 135
7.1.1 流式计算简介 135
7.1.2 常用的流式计算框架 136
7.2 Spark Streaming概述 137
7.2.1 Spark Streaming简介 137
7.2.2 Spark Streaming工作原理 137
7.3 Spark的DStream 141
7.3.1 DStream概念 141
7.3.2 DStream的转换操作 142
7.4 Spark Streaming的数据源 144
7.4.1 基本数据源 144
7.4.2 高级数据源之Kafka 145
7.5 DStream的窗口操作 150
7.6 DStream的输出操作 151
7.7 Spark Streaming的Checkpoint
机制 153
7.7.1 Spark Streaming Checkpoint
概述 153
7.7.2 Checkpoint-MySQL校验 153
7.7.3 Checkpoint-Redis校验 154
实战训练:新闻热词排序 155
7.8 本章小结 157
7.9 习题 157
第8章 Spark MLlib机器学习
算法库 159
8.1 初识机器学习 159
8.1.1 什么是机器学习 159
8.1.2 机器学习的应用 160
8.1.3 分类和聚类 160
8.1.4 常见的分类与聚类算法 160
8.1.5 监督学习、无监督学习与
半监督学习 161
8.2 机器学习算法库MLlib概述 161
8.2.1 MLlib简介 161
8.2.2 Spark机器学习的工作
流程 161
8.2.3 Spark MLlib的架构 162
8.3 数据类型 162
8.3.1 本地向量 162
8.3.2 标签点 163
8.3.3 本地矩阵 164
8.4 Spark MLlib的基本统计方法 165
8.4.1 摘要统计 165
8.4.2 相关性 165
8.4.3 分层抽样 167
8.5 分类和回归 168
8.5.1 线性支持向量机 168
8.5.2 逻辑回归 169
8.5.3 线性最小二乘法 170
8.5.4 流的线性回归 171
8.6 随机森林 171
8.6.1 随机注入 172
8.6.2 随机森林的预测 172
8.6.3 3个案例 172
8.7 朴素贝叶斯 174
8.8 协同过滤 175
8.8.1 协同过滤推荐算法的原理 175
8.8.2 案例需求 175
8.8.3 算法实现 176
8.8.4 计算相似度的3种常用
方法 178
8.8.5 案例—如何使用协同
过滤 179
8.8.6 使用协同过滤算法时的常见
问题 179
实战训练:利用MLlib实现电影推荐
引擎 180
8.9 本章小结 183
8.10 习题 183
第9章 Redis数据库 185
9.1 Redis简介 185
9.1.1 常见的Redis应用场景 185
9.1.2 Redis的特性 186
9.1.3 持久化机制 187
9.2 Redis的安装和启动 187
9.2.1 Redis的安装 187
9.2.2 前端启动 189
9.2.3 后端启动 189
9.3 Redis的客户端 190
9.3.1 Redis自带的客户端 190
9.3.2 Redis桌面管理工具 190
9.3.3 Java客户端Jedis 191
9.4 Redis的数据类型 192
9.5 Redis的持久化和高可用性 194
9.5.1 RDB方式和AOF方式 194
9.5.2 Redis的高可用性 196
实战训练:Spark SQL整合Redis分析
电商数据 197
9.6 本章小结 199
9.7 习题 199
第10章 综合案例—Spark电商实时
数据处理 201
10.1 项目概述 201
10.1.1 介绍项目背景 201
10.1.2 设计项目架构 201
10.2 搭建项目环境 202
10.3 初始化项目结构 203
10.3.1 创建Maven工程 203
10.3.2 构建SparkSession和
StreamingContext实例
对象 207
10.3.3 构建属性配置文件 208
10.3.4 配置Spark Streaming停止
工具 210
10.4 开发订单数据模块 211
10.4.1 模拟订单数据 211
10.4.2 启动Kafka服务 213
10.5 订单数据处理模块 214
10.6 开发报表 216
10.7 本章小结 218

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

千锋教育 1.千锋教育采用全程面授高品质、高成本培养模式,教学大纲紧跟企业需求,拥有全国一体化就业保障服务,成为学员信赖的IT职业教育品牌。 2.获得荣誉包括:中关村移动互联网产业联盟副理事长单位、中国软件协会教育培训委员会认证一级培训机构、中关村国际孵化软件协会授权中关村移动互联网学院、教育部教育管理信息中心指定移动互联网实训基地等。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部