首页 > 图书中心 > Spark大数据处理技术与实战(Scala版·微课版)

目录

目录

第1章Scala基本概念和基本用法1

1.1Scala概述1

1.1.1Scala的特性1

1.1.2安装Scala2

1.2Scala的基础语法4

1.2.1声明常量和变量4

1.2.2输出6

1.2.3输入7

1.2.4数据类型7

1.2.5运算符9

1.3拓展阅读——三次信息化浪潮的启示11

1.4习题11

第2章Scala字符串和数组12

2.1创建不可变字符串对象12

2.2编写及运行Scala脚本12

2.3不可变字符串对象的常用方法13

2.3.1字符串的基本操作13

2.3.2匹配与替换字符串15

2.3.3分割字符串16

2.3.4变换字符串16

2.4可变字符串对象的创建及其常用方法17

2.4.1创建可变字符串对象17

2.4.2可变字符串对象的常用方法18

2.5Scala数组18

2.5.1定长数组18

2.5.2变长数组19

2.5.3数组的转换19〖3〗Spark大数据处理技术与实战(Scala版·微课版)目录〖3〗2.5.4数组对象的常用方法20

2.6拓展阅读——两弹一星精神23

2.7习题23

第3章Scala控制结构24

3.1布尔表达式24

3.2选择结构24

3.2.1单向if选择语句24

3.2.2双向if…else选择语句25

3.2.3嵌套if…else选择语句25

3.3条件表达式26

3.4while循环26

3.5for循环27

3.6for推导式29

3.7块表达式的赋值30

3.8循环中的break和continue语句31

3.9习题32

第4章Scala列表、元组、集合和映射33

4.1列表33

4.1.1创建不可变列表33

4.1.2操作不可变列表34

4.1.3可变列表37

4.2元组38

4.2.1元组的常用方法39

4.2.2拉链操作40

4.3集合41

4.3.1不可变集合41

4.3.2可变集合43

4.4映射44

4.4.1创建不可变映射44

4.4.2不可变映射的常用方法45

4.4.3可变映射46

4.5习题47

第5章Scala函数48

5.1定义函数48

5.2匿名函数50

5.3高阶函数51

5.4习题52

第6章Scala面向对象编程53

6.1类与对象53

6.2构造器54

6.3Scala的value与“value_=”方法56

6.4object单例对象57

6.5App特性59

6.6样例类59

6.7模式匹配61

6.7.1匹配字符串61

6.7.2对数组和列表的元素进行模式匹配62

6.7.3匹配类型63

6.7.4在模式匹配中使用if守卫63

6.7.5使用样例类进行模式匹配64

6.8习题64

第7章Spark大数据处理框架66

7.1Spark概述66

7.1.1Spark的产生背景66

7.1.2Spark的优点67

7.1.3Spark应用场景67

7.1.4Spark生态系统67

7.2Spark的运行机制69

7.2.1Spark的基本概念69

7.2.2Spark的运行架构71

7.3Spark的安装及配置72

7.3.1下载Spark安装文件72

7.3.2单机模式配置72

7.3.3伪分布式模式配置74

7.4基于Scala的Spark交互式编程模式75

7.5基于Python的Spark交互式编程模式76

7.6拓展阅读——源自Spark诞生的启示77

7.7习题78

第8章Spark RDD编程79

8.1创建RDD的方式79

8.1.1使用程序中的数据集创建RDD79

8.1.2使用文本文件创建RDD80

8.1.3使用JSON文件创建RDD82

8.1.4使用CSV文件创建RDD84

8.2RDD的转换操作85

8.2.1映射操作85

8.2.2过滤和去重操作88

8.2.3排序操作89

8.2.4分组聚合操作91

8.2.5集合操作93

8.2.6抽样操作94

8.2.7连接操作95

8.2.8打包操作96

8.2.9获取“键值”对RDD的键和值96

8.2.10重新分区操作96

8.3RDD的行动操作97

8.3.1统计操作97

8.3.2取数据操作99

8.3.3聚合操作99

8.3.4foreach(func)操作和lookup(key: K)操作100

8.3.5saveAsTextFile(path)存储操作101

8.4RDD之间的依赖关系101

8.5RDD的持久化103

8.6项目实战: 用Spark RDD实现词频统计104

8.6.1安装sbt104

8.6.2编写词频统计的Scala应用程序105

8.6.3使用sbt打包Scala应用程序106

8.6.4通过sparksubmit运行程序107

8.7项目实战: 分析学生考试成绩108

8.8习题111

第9章Windows环境下的Spark综合编程112

9.1Windows环境下安装Spark与Hadoop112

9.1.1Windows环境下安装Spark112

9.1.2Windows环境下安装Hadoop112

9.2用IntelliJ IDEA搭建Spark开发环境113

9.2.1下载与安装IntelliJ IDEA114

9.2.2安装与使用Scala插件116

9.2.3配置全局的JDK和SDK121

9.2.4安装Maven与创建项目122

9.2.5开发本地Spark应用125

9.3从MySQL数据库中读取数据127

9.4项目实战: 分析商品订单并将分析结果保存至数据库128

9.5拓展阅读——工匠精神132

9.6习题132

第10章用Spark SQL处理结构化数据133

10.1Spark SQL概述133

10.1.1Spark SQL简介133

10.1.2DataFrame与Dataset133

10.2创建DataFrame对象的方式134

10.2.1使用Parquet文件创建DataFrame对象134

10.2.2使用JSON文件创建DataFrame对象136

10.2.3使用RDD创建DataFrame对象136

10.2.4使用SparkSession对象创建DataFrame对象136

10.2.5使用Seq对象创建DataFrame对象138

10.2.6使用MySQL数据库的数据表创建DataFrame对象138

10.3将DataFrame对象保存为不同格式的文件141

10.3.1调用DataFrame对象的write. ()方法保存数据141

10.3.2调用DataFrame对象的write.format()方法保存数据142

10.3.3先将DataFrame对象转换成RDD再保存到文件中142

10.4DataFrame对象的常用操作143

10.4.1查看数据143

10.4.2查询数据145

10.4.3排序148

10.4.4汇总与聚合149

10.4.5统计151

10.4.6连接152

10.4.7差集、交集、合集154

10.4.8更改字段名155

10.4.9基于列的新增与删除156

10.4.10修改列的数据类型158

10.4.11时间函数160

10.5Dataset对象162

10.5.1创建Dataset对象162

10.5.2RDD、Dataset、DataFrame对象的相互转换164

10.6项目实战: 分析新型冠状病毒感染数据165

10.7拓展阅读——文化自信171

10.8习题172

第11章Spark Streaming流处理173

11.1流处理概述173

11.1.1流数据概述173

11.1.2批处理与流处理173

11.2Spark Streaming的工作原理174

11.3Spark Streaming编程模型175

11.3.1编写Spark Streaming程序的步骤175

11.3.2创建StreamingContext对象175

11.4创建DStream对象176

11.4.1创建输入源为文件流的DStream对象176

11.4.2创建输入源为套接字流的DStream对象177

11.4.3创建输入源为RDD队列流的DStream对象181

11.5DStream对象的常用操作183

11.5.1无状态转换操作183

11.5.2窗口转换操作185

11.5.3有状态转换操作187

11.5.4输出操作188

11.6项目实战: 实时统计“文件流”的词频189

11.7拓展阅读——源自Spark Streaming流处理过程的启示190

11.8习题190

第12章Spark Structured Streaming流处理191

12.1Structured Streaming流处理概述191

12.2Structured Streaming编程模型192

12.2.1Structured Streaming的WordCount192

12.2.2Structured Streaming编程模型199

12.3拓展阅读——女排精神200

12.4习题201

第13章Spark GraphX图计算202

13.1GraphX图计算模型202

13.1.1属性图202

13.1.2GraphX图存储模式203

13.1.3GraphX图计算流程205

13.2GraphX属性图的创建206

13.2.1使用顶点RDD和边RDD构建属性图206

13.2.2使用边的集合的RDD构建属性图207

13.2.3使用边的两个顶点的ID所组成的二元组RDD构建属性图208

13.3属性图的操作209

13.3.1获取图的基本信息209

13.3.2图的视图操作210

13.3.3图的缓存操作213

13.3.4图顶点和边属性的变换214

13.3.5图的关联操作215

13.3.6图的结构操作216

13.4GraphX中的Pregel计算模型217

13.5项目实战: 分析《平凡的世界》中孙家人物关系图220

13.5.1在项目中添加关系图可视化组件220

13.5.2分析人物关系图221

13.6拓展阅读——社交中的六度空间理论227

13.7习题228

第14章Spark ML机器学习229

14.1Spark机器学习库概述229

14.1.1机器学习简介229

14.1.2ML和MLlib概述230

14.2Spark ML的数据类型231

14.2.1本地向量231

14.2.2带标签的点231

14.2.3本地矩阵232

14.3管道的主要概念233

14.3.1Transformer转换器类233

14.3.2Estimator评估器类234

14.3.3Pipeline管道类235

14.4基本统计236

14.4.1相关性分析236

14.4.2汇总统计239

14.4.3分层抽样240

14.4.4假设检验241

14.4.5随机数生成242

14.4.6核密度估计243

14.5TFIDF特征提取243

14.6特征变换转换器246

14.6.1将多个列合成一个VectorAssembler246

14.6.2VectorIndexer向量列类别索引转换器247

14.6.3Binarizer(二值化)转换器248

14.6.4PCA(主成分分析)数据降维转换器249

14.6.5Normalizer(范数pnorm规范化)转换器249

14.6.6数值型数据特征转换器250

14.7分类和回归算法251

14.7.1分类原理251

14.7.2朴素贝叶斯分类算法252

14.7.3决策树分类算法254

14.7.4逻辑回归算法260

14.8聚类算法265

14.8.1聚类概述265

14.8.2K均值聚类算法266

14.9推荐算法270

14.9.1推荐的原理270

14.9.2ALS交替最小二乘协同过滤电影推荐272

14.10项目实战: 识别垃圾邮件276

14.11拓展阅读——人工智能的历史现状和未来278

14.12习题279

参考文献280

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘