Spark编程基础(Python版)

Spark编程基础(Python版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-04
ISBN: 9787115524393
定价: 49.80
装帧: 其他
284人买过
  • 本书以Python作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming、Spark MLlib等。 林子雨,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授,全国高校知名大数据教师,厦门大学数据库实验室负责人,荣获2013年度和2017年度厦门大学奖教金、2018年厦门大学高等教育教学成果特等奖、2018年福建省高等教育教学成果二等奖和2018年国家精品在线开放课程,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。主要研究方向为数据库、数据仓库、数据挖掘、大数据,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目。编著出版了国内高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,被国内众多高校采用作为开课教材,并成为京东、**网等网店畅销书籍。建设了国内高校**大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,成为国内高校大数据教学****,平台每年访问量超过100万次。 第1 章 大数据技术概述 1

    1.1 大数据概念与关键技术 2

    1.1.1 大数据的概念 2

    1.1.2 大数据关键技术 2

    1.2 代表性大数据技术 4

    1.2.1 Hadoop 4

    1.2.2 Spark 8

    1.2.3 Flink 10

    1.2.4 Beam 11

    1.3 编程语言的选择 12

    1.4 在线资源 13

    1.5 本章小结 14

    1.6 习题 14

    实验1 Linux 系统的安装和常用命令 15

    第2 章 Spark 的设计与运行原理 17

    2.1 概述 18

    2.2 Spark 生态系统 19

    2.3 Spark 运行架构 21

    2.3.1 基本概念 21

    2.3.2 架构设计 21

    2.3.3 Spark 运行基本流程 22

    2.3.4 RDD 的设计与运行原理 24

    2.4 Spark 的部署方式 33

    2.5 本章小结 34

    2.6 习题 34

    第3 章 Spark 环境搭建和使用方法 35

    3.1 安装Spark 36

    3.1.1 基础环境 36

    3.1.2 下载安装文件 36

    3.1.3 配置相关文件 38

    3.1.4 验证Spark 是否安装成功 39

    3.1.5 Spark 和Hadoop 的交互 39

    3.2 在pyspark 中运行代码 40

    3.2.1 pyspark 命令 40

    3.2.2 启动pyspark 41

    3.3 开发Spark 独立应用程序 42

    3.3.1 编写程序 42

    3.3.2 通过spark-submit 运行程序 43

    3.4 Spark 集群环境搭建 44

    3.4.1 集群概况 44

    3.4.2 搭建Hadoop 集群 44

    3.4.3 在集群中安装Spark 45

    3.4.4 配置环境变量 45

    3.4.5 Spark 的配置 46

    3.4.6 启动Spark 集群 47

    3.4.7 关闭Spark 集群 47

    3.5 在集群上运行Spark 应用程序 48

    3.5.1 启动Spark 集群 48

    3.5.2 采用独立集群管理器 48

    3.5.3 采用Hadoop YARN 管理器 49

    3.6 本章小结 51

    3.7 习题 51

    实验2 Spark 和Hadoop 的安装 51

    第4 章 RDD 编程 53

    4.1 RDD 编程基础 54

    4.1.1 RDD 创建 54

    4.1.2 RDD 操作 56

    4.1.3 持久化 63

    4.1.4 分区 64

    4.1.5 一个综合实例 69

    4.2 键值对RDD 71

    4.2.1 键值对RDD 的创建 71

    4.2.2 常用的键值对转换操作 72

    4.2.3 一个综合实例 78

    4.3 数据读写 79

    4.3.1 文件数据读写 79

    4.3.2 读写HBase 数据 82

    4.4 综合实例 86

    4.4.1 求TOP 值 86

    4.4.2 文件排序 89

    4.4.3 二次排序 91

    4.5 本章小结 94

    4.6 习题 95

    实验3 RDD 编程初级实践 95

    第5 章 Spark SQL 98

    5.1 Spark SQL 简介 99

    5.1.1 从Shark 说起 99

    5.1.2 Spark SQL 架构 100

    5.1.3 为什么推出Spark SQL 101

    5.2 DataFrame 概述 101

    5.3 DataFrame 的创建 102

    5.4 DataFrame 的保存 103

    5.5 DataFrame 的常用操作 104

    5.6 从RDD 转换得到DataFrame 105

    5.6.1 利用反射机制推断RDD 模式 106

    5.6.2 使用编程方式定义RDD 模式 107

    5.7 使用Spark SQL 读写数据库 108

    5.7.1 准备工作 109

    5.7.2 读取MySQL 数据库中的数据 109

    5.7.3 向MySQL 数据库写入数据 110

    5.8 本章小结 111

    5.9 习题 112

    实验4 Spark SQL 编程初级实践 112

    第6 章 Spark Streaming 115

    6.1 流计算概述 116

    6.1.1 静态数据和流数据 116

    6.1.2 批量计算和实时计算 117

    6.1.3 流计算概念 117

    6.1.4 流计算框架 118

    6.1.5 流计算处理流程 119

    6.2 Spark Streaming 121

    6.2.1 Spark Streaming 设计 121

    6.2.2 Spark Streaming 与Storm 的对比 122

    6.2.3 从“Hadoop+Storm”架构转向Spark 架构 122

    6.3 DStream 操作概述 123

    6.3.1 Spark Streaming 工作机制 123

    6.3.2 编写Spark Streaming 程序的基本步骤 124

    6.3.3 创建StreamingContext 对象 124

    6.4 基本输入源 125

    6.4.1 文件流 125

    6.4.2 套接字流 127

    6.4.3 RDD 队列流 131

    6.5 高级数据源 133

    6.5.1 Kafka 简介 133

    6.5.2 Kafka 准备工作 133

    6.5.3 Spark 准备工作 135

    6.5.4 编写Spark Streaming 程序使用Kafka 数据源 136

    6.6 转换操作 137

    6.6.1 DStream 无状态转换操作 137

    6.6.2 DStream 有状态转换操作 138

    6.7 输出操作 143

    6.7.1 把DStream 输出到文本文件中 143

    6.7.2 把DStream 写入到关系数据库中 145

    6.8 本章小结 147

    6.9 习题 147

    实验5 Spark Streaming 编程初级实践 147

    第7 章 Structured Streaming 150

    7.1 概述 151

    7.1.1 基本概念 151

    7.1.2 两种处理模型 152

    7.1.3 Structured Streaming 和Spark SQL、Spark Streaming 的关系 154

    7.2 编写Structured Streaming程序的基本步骤 154

    7.2.1 实现步骤 154

    7.2.2 测试运行 156

    7.3 输入源 158

    7.3.1 File 源 158

    7.3.2 Kafka 源 163

    7.3.3 Socket 源 167

    7.3.4 Rate 源 167

    7.4 输出操作 169

    7.4.1 启动流计算 169

    7.4.2 输出模式 170

    7.4.3 输出接收器 170

    7.5 容错处理 173

    7.5.1 从检查点恢复故障 173

    7.5.2 故障恢复中的限制 173

    7.6 迟到数据处理 174

    7.6.1 事件时间 174

    7.6.2 迟到数据 175

    7.6.3 水印 176

    7.6.4 多水印规则 177

    7.6.5 处理迟到数据的实例 178

    7.7 查询的管理和监控 181

    7.7.1 管理和监控的方法 181

    7.7.2 一个监控的实例 182

    7.8 本章小结 184

    7.9 习题 185

    实验6 Structured Streaming编程实践 185

    第8章 Spark MLlib 187

    8.1 基于大数据的机器学习 188

    8.2 机器学习库MLlib 概述 189

    8.3 基本数据类型 190

    8.3.1 本地向量 190

    8.3.2 标注点 191

    8.3.3 本地矩阵 192

    8.4 机器学习流水线 193

    8.4.1 流水线的概念 193

    8.4.2 流水线工作过程 193

    8.5 特征提取、转换和选择 195

    8.5.1 特征提取 195

    8.5.2 特征转换 199

    8.5.3 特征选择 204

    8.5.4 局部敏感哈希 205

    8.6 分类算法 205

    8.6.1 逻辑斯蒂回归分类器 206

    8.6.2 决策树分类器 212

    8.7 聚类算法 217

    8.7.1 K-Means 聚类算法 218

    8.7.2 GMM 聚类算法 220

    8.8 协同过滤算法 223

    8.8.1 推荐算法的原理 223

    8.8.2 ALS 算法 224

    8.9 模型选择和超参数调整 228

    8.9.1 模型选择工具 229

    8.9.2 用交叉验证选择模型 229

    8.10 本章小结 232

    8.11 习题 233

    实验7 Spark 机器学习库MLlib编程实践 233

    参考文献 235
  • 内容简介:
    本书以Python作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming、Spark MLlib等。
  • 作者简介:
    林子雨,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授,全国高校知名大数据教师,厦门大学数据库实验室负责人,荣获2013年度和2017年度厦门大学奖教金、2018年厦门大学高等教育教学成果特等奖、2018年福建省高等教育教学成果二等奖和2018年国家精品在线开放课程,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。主要研究方向为数据库、数据仓库、数据挖掘、大数据,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目。编著出版了国内高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,被国内众多高校采用作为开课教材,并成为京东、**网等网店畅销书籍。建设了国内高校**大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,成为国内高校大数据教学****,平台每年访问量超过100万次。
  • 目录:
    第1 章 大数据技术概述 1

    1.1 大数据概念与关键技术 2

    1.1.1 大数据的概念 2

    1.1.2 大数据关键技术 2

    1.2 代表性大数据技术 4

    1.2.1 Hadoop 4

    1.2.2 Spark 8

    1.2.3 Flink 10

    1.2.4 Beam 11

    1.3 编程语言的选择 12

    1.4 在线资源 13

    1.5 本章小结 14

    1.6 习题 14

    实验1 Linux 系统的安装和常用命令 15

    第2 章 Spark 的设计与运行原理 17

    2.1 概述 18

    2.2 Spark 生态系统 19

    2.3 Spark 运行架构 21

    2.3.1 基本概念 21

    2.3.2 架构设计 21

    2.3.3 Spark 运行基本流程 22

    2.3.4 RDD 的设计与运行原理 24

    2.4 Spark 的部署方式 33

    2.5 本章小结 34

    2.6 习题 34

    第3 章 Spark 环境搭建和使用方法 35

    3.1 安装Spark 36

    3.1.1 基础环境 36

    3.1.2 下载安装文件 36

    3.1.3 配置相关文件 38

    3.1.4 验证Spark 是否安装成功 39

    3.1.5 Spark 和Hadoop 的交互 39

    3.2 在pyspark 中运行代码 40

    3.2.1 pyspark 命令 40

    3.2.2 启动pyspark 41

    3.3 开发Spark 独立应用程序 42

    3.3.1 编写程序 42

    3.3.2 通过spark-submit 运行程序 43

    3.4 Spark 集群环境搭建 44

    3.4.1 集群概况 44

    3.4.2 搭建Hadoop 集群 44

    3.4.3 在集群中安装Spark 45

    3.4.4 配置环境变量 45

    3.4.5 Spark 的配置 46

    3.4.6 启动Spark 集群 47

    3.4.7 关闭Spark 集群 47

    3.5 在集群上运行Spark 应用程序 48

    3.5.1 启动Spark 集群 48

    3.5.2 采用独立集群管理器 48

    3.5.3 采用Hadoop YARN 管理器 49

    3.6 本章小结 51

    3.7 习题 51

    实验2 Spark 和Hadoop 的安装 51

    第4 章 RDD 编程 53

    4.1 RDD 编程基础 54

    4.1.1 RDD 创建 54

    4.1.2 RDD 操作 56

    4.1.3 持久化 63

    4.1.4 分区 64

    4.1.5 一个综合实例 69

    4.2 键值对RDD 71

    4.2.1 键值对RDD 的创建 71

    4.2.2 常用的键值对转换操作 72

    4.2.3 一个综合实例 78

    4.3 数据读写 79

    4.3.1 文件数据读写 79

    4.3.2 读写HBase 数据 82

    4.4 综合实例 86

    4.4.1 求TOP 值 86

    4.4.2 文件排序 89

    4.4.3 二次排序 91

    4.5 本章小结 94

    4.6 习题 95

    实验3 RDD 编程初级实践 95

    第5 章 Spark SQL 98

    5.1 Spark SQL 简介 99

    5.1.1 从Shark 说起 99

    5.1.2 Spark SQL 架构 100

    5.1.3 为什么推出Spark SQL 101

    5.2 DataFrame 概述 101

    5.3 DataFrame 的创建 102

    5.4 DataFrame 的保存 103

    5.5 DataFrame 的常用操作 104

    5.6 从RDD 转换得到DataFrame 105

    5.6.1 利用反射机制推断RDD 模式 106

    5.6.2 使用编程方式定义RDD 模式 107

    5.7 使用Spark SQL 读写数据库 108

    5.7.1 准备工作 109

    5.7.2 读取MySQL 数据库中的数据 109

    5.7.3 向MySQL 数据库写入数据 110

    5.8 本章小结 111

    5.9 习题 112

    实验4 Spark SQL 编程初级实践 112

    第6 章 Spark Streaming 115

    6.1 流计算概述 116

    6.1.1 静态数据和流数据 116

    6.1.2 批量计算和实时计算 117

    6.1.3 流计算概念 117

    6.1.4 流计算框架 118

    6.1.5 流计算处理流程 119

    6.2 Spark Streaming 121

    6.2.1 Spark Streaming 设计 121

    6.2.2 Spark Streaming 与Storm 的对比 122

    6.2.3 从“Hadoop+Storm”架构转向Spark 架构 122

    6.3 DStream 操作概述 123

    6.3.1 Spark Streaming 工作机制 123

    6.3.2 编写Spark Streaming 程序的基本步骤 124

    6.3.3 创建StreamingContext 对象 124

    6.4 基本输入源 125

    6.4.1 文件流 125

    6.4.2 套接字流 127

    6.4.3 RDD 队列流 131

    6.5 高级数据源 133

    6.5.1 Kafka 简介 133

    6.5.2 Kafka 准备工作 133

    6.5.3 Spark 准备工作 135

    6.5.4 编写Spark Streaming 程序使用Kafka 数据源 136

    6.6 转换操作 137

    6.6.1 DStream 无状态转换操作 137

    6.6.2 DStream 有状态转换操作 138

    6.7 输出操作 143

    6.7.1 把DStream 输出到文本文件中 143

    6.7.2 把DStream 写入到关系数据库中 145

    6.8 本章小结 147

    6.9 习题 147

    实验5 Spark Streaming 编程初级实践 147

    第7 章 Structured Streaming 150

    7.1 概述 151

    7.1.1 基本概念 151

    7.1.2 两种处理模型 152

    7.1.3 Structured Streaming 和Spark SQL、Spark Streaming 的关系 154

    7.2 编写Structured Streaming程序的基本步骤 154

    7.2.1 实现步骤 154

    7.2.2 测试运行 156

    7.3 输入源 158

    7.3.1 File 源 158

    7.3.2 Kafka 源 163

    7.3.3 Socket 源 167

    7.3.4 Rate 源 167

    7.4 输出操作 169

    7.4.1 启动流计算 169

    7.4.2 输出模式 170

    7.4.3 输出接收器 170

    7.5 容错处理 173

    7.5.1 从检查点恢复故障 173

    7.5.2 故障恢复中的限制 173

    7.6 迟到数据处理 174

    7.6.1 事件时间 174

    7.6.2 迟到数据 175

    7.6.3 水印 176

    7.6.4 多水印规则 177

    7.6.5 处理迟到数据的实例 178

    7.7 查询的管理和监控 181

    7.7.1 管理和监控的方法 181

    7.7.2 一个监控的实例 182

    7.8 本章小结 184

    7.9 习题 185

    实验6 Structured Streaming编程实践 185

    第8章 Spark MLlib 187

    8.1 基于大数据的机器学习 188

    8.2 机器学习库MLlib 概述 189

    8.3 基本数据类型 190

    8.3.1 本地向量 190

    8.3.2 标注点 191

    8.3.3 本地矩阵 192

    8.4 机器学习流水线 193

    8.4.1 流水线的概念 193

    8.4.2 流水线工作过程 193

    8.5 特征提取、转换和选择 195

    8.5.1 特征提取 195

    8.5.2 特征转换 199

    8.5.3 特征选择 204

    8.5.4 局部敏感哈希 205

    8.6 分类算法 205

    8.6.1 逻辑斯蒂回归分类器 206

    8.6.2 决策树分类器 212

    8.7 聚类算法 217

    8.7.1 K-Means 聚类算法 218

    8.7.2 GMM 聚类算法 220

    8.8 协同过滤算法 223

    8.8.1 推荐算法的原理 223

    8.8.2 ALS 算法 224

    8.9 模型选择和超参数调整 228

    8.9.1 模型选择工具 229

    8.9.2 用交叉验证选择模型 229

    8.10 本章小结 232

    8.11 习题 233

    实验7 Spark 机器学习库MLlib编程实践 233

    参考文献 235
查看详情
相关图书 / 更多
Spark编程基础(Python版)
Spring Framework6开发实战 Spring+Spring Web MVC+MyBatis
肖海鹏、耿卫江、王荣芝、张天怡、张志慧
Spark编程基础(Python版)
Spark大数据分析
作者
Spark编程基础(Python版)
Spark入门与大数据分析实战
迟殿委 李超
Spark编程基础(Python版)
Spark大数据开发(职业教育计算机系列教材)
唐春玲;周桥;陈小龙
Spark编程基础(Python版)
Spring Boot+Vue前后端分离项目全栈开发实战
唐文
Spark编程基础(Python版)
Spring快速入门到精通
明日科技 编著
Spark编程基础(Python版)
Spring Boot 3.0开发实战
李西明;陈立为
Spark编程基础(Python版)
Spark分布式处理实战
刘均 王璐烽
Spark编程基础(Python版)
Spring Security原理与实战:构建安全可靠的微服务
邹炎
Spark编程基础(Python版)
Spark原理深入与编程实战(微课视频版)
辛立伟;张帆;张会娟
Spark编程基础(Python版)
Spring Boot 3 +Vue 3开发实战
朱建昕
Spark编程基础(Python版)
Spring Cloud Alibaba核心技术与实战案例
高洪岩