《Spark大数据技术与应用》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:肖芳,张良均主编;汪作文,胡大威,樊哲副主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115464880
  • 页数:272 页
图书介绍:本书以任务为导向,较为全面地介绍了Spark大数据技术的相关知识。全书共9章,具体内容包括Spark介绍、Scala基础、Spark编程基础与进阶、Spark SQL结构化数据处理、Spark Streaming实时计算、Spark GraphX图计算、Spark MLlib机器学习库、项目案例:餐饮平台菜品智能推荐。

第1章Spark概述 1

任务1.1认识Spark 1

1.1.1 Spark的发展 1

1.1.2 Spark的特点 2

1.1.3 Spark生态圈 4

1.1.4 Spark的应用场景 5

任务1.2搭建Spark环境 5

1.2.1搭建单机版环境 6

1.2.2搭建单机伪分布式环境 6

1.2.3搭建完全分布式环境 7

任务1.3了解Spark运行架构与原理 10

1.3.1 Spark集群架构 11

1.3.2 Spark作业运行流程 11

1.3.3 Spark核心数据集RDD 15

1.3.4 Spark核心原理 17

小结 19

第2章Scala基础 20

任务2.1 Scala的简介与安装 21

2.1.1 Scala简介 21

2.1.2 Scala特性 21

2.1.3 Scala的环境设置及安装 21

2.1.4运行Scala 23

任务2.2定义函数识别号码类型 24

2.2.1数据类型 24

2.2.2常量和变量 25

2.2.3表达式 26

2.2.4数组 27

2.2.5函数 29

2.2.6任务实现 31

任务2.3统计广州号码段数量 32

2.3.1 if判断 32

2.3.2循环 33

2.3.3任务实现 34

任务2.4根据归属地对手机号码段分组 34

2.4.1 List 35

2.4.2 Set 36

2.4.3 Map 37

2.4.4元组 38

2.4.5函数组合器 38

2.4.6任务实现 39

任务2.5编写手机号码归属地信息查询程序 40

2.5.1 Scala类 40

2.5.2 Scala object 42

2.5.3 Scala模式匹配 42

2.5.4 Scala读取文件 44

2.5.5任务实现 44

小结 45

实训 45

实训1编写函数过滤文本中的回文单词 45

实训2使用Scala编程输出杨辉三角 46

课后习题 46

第3章Spark编程 48

任务3.1以学生成绩数据创建RDD 49

3.1.1从内存中已有数据创建RDD 50

3.1.2从外部存储创建RDD 51

3.1.3任务实现 52

任务3.2查询学生成绩表中的前5名 52

3.2.1使用map转换数据 52

3.2.2使用sortBy()排序 53

3.2.3使用collect()查询 53

3.2.4使用flatMap转换数据 54

3.2.5使用take()方式查询某几个值 54

3.2.6任务实现 55

任务3.3输出单科成绩为100分的学生ID 55

3.3.1使用union()合并多个RDD 56

3.3.2使用filter()进行过滤 56

3.3.3使用distinct()进行去重 56

3.3.4简单的集合操作 57

3.3.5任务实现 58

任务3.4输出每位学生所有科目的总成绩 58

3.4.1键值对RDD简介 59

3.4.2创建键值对RDD 59

3.4.3转换操作keys与values 59

3.4.4转换操作reduceByKey() 60

3.4.5转换操作groupByKey() 60

3.4.6任务实现 60

任务3.5输出每位学生的平均成绩 61

3.5.1使用join()连接两个RDD 61

3.5.2使用zip组合两个RDD 63

3.5.3使用combineByKey合并相同键的值 63

3.5.4使用lookup查找指定键的值 64

3.5.5任务实现 64

任务3.6将汇总后的学生成绩存储为文本文件 65

3.6.1 JSON文件的读取与存储 65

3.6.2 CSV文件的读取与存储 67

3.6.3 SquenceFile的读取与存储 69

3.6.4文本文件的读取与存储 70

3.6.5任务实现 71

小结 72

实训 72

实训1统计文本中性别为“男”的用户数 73

实训2单词计数 73

课后习题 74

第4章Spark编程进阶 76

任务4.1搭建开发环境 77

4.1.1下载与安装IntelliJ IDEA 77

4.1.2 Scala插件安装与使用 79

4.1.3配置Spark运行环境 84

4.1.4运行Spark程序 85

任务4.2使用移动平均预测股票涨跌 92

4.2.1持久化(缓存) 93

4.2.2数据分区 94

4.2.3计算价格波动幅度 98

4.2.4任务实现 100

小结 103

实训 103

实训 竞赛网站访问日志分析 104

课后习题 104

第5章Spark SQL:结构化数据文件处理 107

任务5.1认识Spark SQL 108

5.1.1 Spark SQL简介 108

5.1.2 Spark SQL CLI配置 109

5.1.3 Spark SQL与Shell交互 110

任务5.2掌握DataFrame基础操作 111

5.2.1创建DataFrame对象 111

5.2.2 DataFrame查看数据 114

5.2.3 DataFrame查询操作 117

5.2.4 DataFrame输出操作 123

任务5.3探索分析法律服务网站数据 125

5.3.1获取数据 125

5.3.2网页类型分析 126

5.3.3点击次数分析 131

5.3.4网页排名分析 133

小结 135

实训 135

实训1统计分析航空公司客户数据的空值以及异常值 135

实训2统计分析某公司每年的产品销售量及销售额 137

课后习题 139

第6章Spark Streaming:实时计算框架 141

任务6.1初探Spark Streaming 142

6.1.1 Spark Streaming概述 142

6.1.2 Spark Streaming运行原理 142

6.1.3初步使用Spark Streaming 143

任务6.2掌握DStream编程模型 145

6.2.1 DStream简介 146

6.2.2 DStream转换操作 146

6.2.3 DStream窗口操作 148

6.2.4 DStream输出操作 151

任务6.3 Spark Streaming实时更新热门博文 155

6.3.1 Spark Streaming输入数据源 155

6.3.2 Spark Streaming计算网页热度 158

6.3.3网页热度输出 158

6.3.4任务实现 159

小结 161

实训 161

实训1过滤打印包含单词error的记录 162

实训2实时过滤歌曲播放次数超过100次的记录并存储在HDFS上 162

课后习题 162

第7章Spark GraphX:图计算框架 165

任务7.1认识Spark GraphX 166

7.1.1图的基本概念 166

7.1.2图计算的应用 167

7.1.3 GraphX的基础概念 168

7.1.4 GraphX的发展 168

任务7.2了解GraphX常用API 169

7.2.1图的创建与存储 169

7.2.2数据查询与数据转换 174

7.2.3结构转换与关联聚合 180

任务7.3构建信任网络并找出目标用户 187

7.3.1构建网站信任网络 188

7.3.2找出需要支付稿酬的用户 188

7.3.3找出进入热门榜的用户 189

小结 191

实训 191

实训1使用PageRank算法完成网页排名 191

实训2利用二度关系完成商品推荐 192

课后习题 194

第8章Spark MLlib:功能强大的算法库 196

任务8.1了解MLlib算法库 197

8.1.1机器学习简介 197

8.1.2 MLlib介绍 198

任务8.2以Logistic回归实现用户分类 212

8.2.1分析思路 212

8.2.2数据处理 213

8.2.3 MLlib实现Logistic回归 215

8.2.4任务实现 217

小结 221

实训 221

实训1通过KMeans定位商圈 221

实训2朴素贝叶斯进行文本分类 222

课后习题 223

第9章 项目案例:餐饮平台菜品智能推荐 226

任务9.1推荐方案设计 227

9.1.1用户数据分析 227

9.1.2常用推荐算法 229

9.1.3推荐流程设计 231

任务9.2数据预处理 232

9.2.1原始数据探索分析 233

9.2.2异常数据处理 237

9.2.3数据变换处理 237

9.2.4数据集分割 239

任务9.3建立推荐模型 240

9.3.1以基于用户的协同过滤算法建模 240

9.3.2以基于物品的协同过滤算法建模 243

9.3.3以基于Spark ALS的协同过滤算法建立模型 246

9.3.4推荐模型的评测 251

任务9.4使用模型进行菜品推荐 262

9.4.1对某用户推荐10道新菜品 262

9.4.2对所有用户进行新菜品推荐 267

小结 272