新書推薦:
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:HK$
44.7
《
大模型启示录
》
售價:HK$
112.0
《
东法西渐:19世纪前西方对中国法的记述与评价
》
售價:HK$
201.6
《
养育男孩:官方升级版
》
售價:HK$
50.4
《
小原流花道技法教程
》
售價:HK$
109.8
《
少女映像室 唯美人像摄影从入门到实战
》
售價:HK$
110.9
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:HK$
87.4
《
武当内家散手
》
售價:HK$
50.4
|
內容簡介: |
本书系统介绍了Spark大数据技术的相关知识,内容包括Spark概述、Scala基础编程、基于Scala的Spark编程、Windows环境下的Spark综合编程、Spark SQL结构化数据处理、Spark Streaming流计算、SparkGraphX图计算、Spark MLlib机器学习。本书还给出了Spark大数据相关技术的许多编程示例与详细注解。
本书可作为高等院校计算机、软件工程、数据科学与大数据技术、智能科学与技术、人工智能等专业的大数据课程教材,也可供相关技术人员参考。
|
目錄:
|
第1章 Spark概述 1
1.1 认识Spark 1
1.1.1 Spark的产生背景 1
1.1.2 Spark的优点 2
1.1.3 Spark应用场景 2
1.1.4 Spark生态系统 3
1.2 Spark运行机制 4
1.2.1 Spark基本概念 4
1.2.2 Spark运行架构 6
1.2.3 Spark应用执行的基本流程 7
1.3 Spark的安装及配置 8
1.3.1 Spark安装的基础环境 8
1.3.2 下载安装文件 8
1.3.3 单机模式配置 9
1.3.4 伪分布式模式配置 9
1.4 Spark Scala编程 11
1.4.1 启动Spark Shell 11
1.4.2 退出Spark Shell 12
1.5 Spark Python编程 12
习 题 13
第2章 Scala基础编程 14
2.1 Scala特性 14
2.2 Windows环境下的Scala安装 14
2.2.1 jdk安装与环境变量配置 14
2.2.2 Scala安装 15
2.3 声明常量和变量 16
2.3.1 声明常量 16
2.3.2 声明变量 17
2.4 字符串 18
2.4.1 基本数据类型 18
2.4.2 运算符 19
2.4.3 字符串对象的常用方法 20
2.5 Scala控制结构 23
2.5.1 条件表达式 23
2.5.2 ifelse选择结构 24
2.5.3 编写Scala脚本 25
2.5.4 循 环 25
2.6 Scala数组 27
2.6.1 数组的分类 27
2.6.2 遍历数组 28
2.6.3 数组转换 29
2.6.4 数组对象的常用方法 30
2.7 列 表 32
2.7.1 不可变列表List创建 32
2.7.2 不可变列表List操作 33
2.7.3 可变列表ListBuffer 36
2.8 集 合 37
2.8.1 不可变集合 38
2.8.2 可变集合 40
2.9 映 射 40
2.9.1 不可变映射 41
2.9.2 可变映射 42
2.10 元 组 44
2.10.1 元组常用操作 45
2.10.2 拉链操作 45
2.11 Scala函数 46
2.11.1 函数定义 46
2.11.2 匿名函数 47
2.11.3 高阶函数 47
2.12 Scala模式匹配 48
2.13 Scala类 50
2.13.1 class类 50
2.13.2 object对象 51
2.14 Scala读写文件 53
2.14.1 读取文件 53
2.14.2 写入文件 54
习 题 54
第3章 基于Scala的Spark编程 56
3.1 RDD创建 56
3.1.1 使用程序中数据集创建RDD 57
3.1.2 使用文本文件创建RDD 57
3.1.3 使用JSON文件创建RDD 59
3.1.4 使用CSV文件创建RDD 61
3.2 RDD操作 62
3.2.1 转换Transformation操作 62
3.2.2 行动Action操作 69
3.3 RDD属性 72
3.4 RDD持久化 74
3.5 使用Scala语言编写Spark应用程序 75
3.5.1 安装sbt 75
3.5.2 编写词频统计Scala应用程序 76
3.5.3 用sbt打包Scala应用程序 77
3.5.4 通过spark submit运行程序 77
习 题 78
第4章 Windows环境下的Spark综合编程 79
4.1 Windows环境下Spark与Hadoop安装 79
4.1.1 Windows环境下Spark安装 79
4.1.2 Windows环境下Hadoop安装 79
4.2 用Intellij IDEA 搭建Spark开发环境 80
4.2.1 下载与安装Intellij IDEA 81
4.2.2 Scala插件安装与使用 82
4.2.3 全局JDK和SDK设置 87
4.2.4 Maven安装与项目开发 89
4.2.5 本地Spark应用开发 91
4.3 数据分区 94
4.3.1 HashPartitioner哈希分区 95
4.3.2 RangePartitioner范围分区 95
4.4 Spark编程实现学生考试信息分析 96
习 题 98
第5章 Spark SQL结构化数据处理 99
5.1 Spark SQL概述 99
5.2 DataFrame的创建 99
5.2.1 使用parquet格式文件创建DataFrame 100
5.2.2 使用JSON 格式文件创建DataFrame 101
5.2.3 使用RDD创建DataFrame 102
5.3 DataFrame的保存 103
5.3.1 write方法保存DataFrame 103
5.3.2 write.format方法保存DataFrame 103
5.3.3 先转化成RDD再保存到文件中 103
5.4 DataFrame的常用操作 104
5.4.1 展示数据 104
5.4.2 筛 选 107
5.4.3 排 序 109
5.4.4 汇总与聚合 110
5.4.5 统 计 113
5.4.6 合 并 113
5.4.7 连 接 114
5.5 Spark SQL实战波士顿房价数据分析 116
5.5.1 波士顿房价数据集 116
5.5.2 数据集的数据结构分析 117
5.5.3 相关性分析 119
习 题 119
第6章 Spark Streaming流计算 120
6.1 流计算概述 120
6.1.1 流数据概述 120
6.1.2 批处理与流处理 120
6.2 Spark Streaming运行原理 121
6.2.1 Spark Streaming概述 121
6.2.2 Spark Streaming运行原理 121
6.3 Spark Streaming编程模型 122
6.3.1 编写Spark Streaming程序的步骤 122
6.3.2 创建StreamingContext对象 122
6.4 定义DStream 的输入数据源 124
6.4.1 定义DStream 的输入数据源为文件流 124
6.4.2 定义DStream 的输入数据源为套接字流 125
6.4.3 定义DStream 的输入数据源为RDD队列流 130
6.5 操作DStream 131
6.5.1 无状态转换操作 131
6.5.2 有状态转换操作 134
6.5.3 输出操作 135
6.6 Spark Streaming的启动与停止 135
习 题 136
第7章 Spark GraphX 图计算 137
7.1 图计算概述 137
7.1.1 图结构 137
7.1.2 图计算应用 137
7.1.3 GraphX概述 138
7.2 GraphX图计算模型 139
7.2.1 属性图 139
7.2.2 GraphX图存储模式 141
7.2.3 GraphX图计算模型 143
7.2.4 GraphX架构 144
7.3 GraphX属性图的创建 145
7.3.1 使用顶点RDD和边RDD构建图 145
7.3.2 使用边的集合的RDD构建图 146
7.3.3 使用边源点和目的点的元组集合RDD构建图 147
7.4 属性图操作 148
7.4.1 图的属性操作 149
7.4.2 图的视图操作 150
7.4.3 图的缓存操作 153
7.4.4 图的顶点和边属性变换 153
7.4.5 图的关联与聚合操作 155
7.4.6 图的结构操作 156
习 题 157
第8章 Spark MLlib机器学习 158
8.1 MLlib机器学习库概述 158
8.1.1 机器学习简介 158
8.1.2 MLlib概述 159
8.2 MLlib基本数据类型 160
8.2.1 本地向量 160
8.2.2 带标签的点 161
8.2.3 本地矩阵 162
8.3 基本统计 163
8.3.1 汇总统计 163
8.3.2 相关性分析 164
8.3.3 分层抽样 165
8.3.4 假设检验 166
8.3.5 随机数生成 169
8.3.6 核密度估计 169
8.4 特征提取和转换 170
8.4.1 特征提取 170
8.4.2 特征转换 172
8.5 分类和回归算法 177
8.5.1 分类原理 177
8.5.2 朴素贝叶斯分类算法 178
8.5.3 决策树分类算法 180
8.5.4 逻辑回归算法 186
8.6 聚类算法 189
8.6.1 聚类概述 189
8.6.2 K均值聚类算法 190
8.7 协同过滤推荐算法 192
8.7.1 协同过滤推荐原理 192
8.7.2 ALS交替最小二乘协同过滤推荐 193
习 题 195
参考文献 196
|
內容試閱:
|
数据已成为国家基础性战略资源,大数据正逐渐对全球生产、流通、分配、消费活动以及经济运行机制、社会生活方式和国家治理产生重要影响。2013年6月,Spark进入Apache成为孵化项目,8个月后成为Apache顶级项目。Spark因其先进的设计理念而迅速成为社区的热门项目,随着Spark的Spark SQL、Spark Streaming、MLlib和GraphX等组件被相继推出,这些组件逐渐形成大数据处理一站式解决平台。
Spark功能强大,涉及的知识面宽广。本书用通俗易懂的语言阐述相关原理和操作,并给出了丰富的操作案例,同时将知识点讲解与实际操作相结合,使读者学以致用。
全书共8章,各章内容如下。
第1章为Spark概述。本章主要介绍Spark运行机制、Spark安装及配置、Spark Scala编程和Spark Python编程。
第2章为Scala基础编程。本章对Scala进行概要介绍,主要包括Scala特性,Scala安装,Scala基本数据类型,Scala常量和变量,Scala数组、列表、集合和映射,Scala控制结构,Scala函数,Scala类和Scala读写文件。
第3章为基于Scala的Spark编程。RDD 是Spark的核心概念,本质上是一个只读的分区记录集合,每个分区是一个数据集片段。Spark基于Scala语言提供了对RDD 的转换操作和行动操作,通过这些操作可实现复杂的应用。本章主要介绍RDD的创建方法、RDD各种操作、RDD属性、RDD持久化的方法以及如何使用Scala语言编写Spark应用程序。
第4章为Windows环境下的Spark综合编程。本章主要介绍如何在Windows系统上搭建Spark、Hadoop和Maven开发环境,并给出一个Spark综合编程实例。
第5章为Spark SQL结构化数据处理。Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象,叫作DataFrame。本章主要介绍Spark SQL与Shell交互、DataFrame对象的创建、DataFrame对象上的常用操作。
第6章为Spark Streaming流计算。本章首先介绍流计算的相关概念、Spark Streaming运行原理、Spark Streaming程序编写步骤、StreamingContext对象的创建,然后介绍DStream的常用操作。
第7章为Spark GraphX 图计算。图因具有直观、清晰、表达能力强等特点,被广泛应用于社交网络、生物数据分析、推荐系统等领域。GraphX是Spark中专门用于处理图数据的组件,本章主要介绍图计算模型、属性图的创建、属性图操作。
第8章为Spark MLlib机器学习。MLlibMachine Learning Library是Spark提供的可扩展的机器学习库。MLlib中包含了一些通用的学习算法和工具,如分类、回归、聚类、协同过滤、降维以及底层的优化原语等算法和工具。本章主要介绍MLlib的基本数据类型、基本统计方法、特征提取、特征转换、分类和回归算法、聚类算法、协同过滤推荐算法。
本书可作为高等院校计算机、软件工程、数据科学与大数据技术、智能科学与技术、人工智能等专业的大数据课程教材,也可供相关技术人员参考。
本书受河南省高等学校重点科研项目18B520041资助出版。在本书编写和出版过程中得到了郑州轻工业大学、北京航空航天大学出版社的大力支持和帮助,在此表示感谢。上海交通大学的许金超博士在百忙中认真审阅了全书,提出了许多宝贵的改进意见,在此表示衷心的感谢。
本书在撰写过程中,参考了大量专业书籍和网络资料,在此向这些作者表示感谢。
由于编写时间仓促,编者水平有限,书中的不足之处,还请专家和读者的批评指正。您在阅读过程中遇到任何问题,欢迎发送邮件至42675492@qq.com 联系我,期待收到您的反馈。
曹 洁
郑州轻工业大学
2020年5月
|
|