spark中读取json_高职Spark大数据分析与实战(附高职大数据技术与应用专业课程体系)...

本书采用项目化、任务驱动方式介绍大数据技术,内容涵盖Spark环境搭建、Scala编程、RDD分析、Spark SQL处理结构化数据等,通过实际案例帮助读者在实践中学习Spark理论。书中提供丰富的配套资源,包括虚拟机、代码、教学资料等,适合初学者边学边练。
摘要由CSDN通过智能技术生成
3296c8723f7614ec0c8dcc3884fd996f.png

高职高专大数据技术与应用专业系列教材

本书摒弃了传统IT教材结构,采用更加符合学习者认知规律的项目化、任务驱动方式编写,包含7大项目、42个任务、200余个实例。

6ce63dba6afdc47c2215409838dd3e3e.png本书提供了大量配套资源,包括搭建好运行环境的虚拟机(Linux + Spark + Hadoop+其他组件)、程序代码、授课PPT、教学日历、实验数据、软件包、课后习题答案等(读者可通过百度网盘下载:https://pan.baidu.com/s/1p4nDYT8DO4AjtSWxFwoBaA,提取码:eixn);

建议读者下载后,与本书同步完成各个任务点,坚持“在Spark实践中学习Spark理论,Spark理论升华Spark实践”。对于Spark学习,读者需要了解Linux基本命令,包括用户、文件、目录、解压等相关命令;

建议初学者使用Ubuntu系统,因为Ubuntu系统提供了强大的桌面功能(与Windows类似),这样可以降低学习成本,省去诸多不便,将主要精力放到Spark上。

向上滑动阅览

目  录

项目一 搭建Spark环境1

项目概述1

项目演示1

思维导图2

任务1.1 认识大数据2

1.1.1 大数据时代2

1.1.2 大数据的普遍特征——4V3

1.1.3 大数据的来源5

1.1.4 大数据的处理过程5

任务1.2 搭建Hadoop环境6

1.2.1 认识Hadoop生态体系7

1.2.2 Hadoop环境的搭建8

1.2.3 Hadoop平台的初步体验12

任务1.3 认识Spark13

1.3.1 初识Spark13

1.3.2 Spark中的运行框架与过程16

1.3.3 Spark与Hadoop的比较17

任务1.4 搭建Spark环境19

1.4.1 Spark部署模式19

1.4.2 Spark本地模式环境搭建20

1.4.3 Spark的简单使用21

1.4.4 Virtual Box中导入虚拟机22

项目小结24

课后练习24

能力拓展25

项目二 编写Scala程序处理4S店数据26

项目概述26

项目演示26

思维导图27

任务2.1 Scala的安装与体验27

2.1.1 Scala简介27

2.1.2 Scala的特性28

2.1.3 Scala的下载与安装28

2.1.4 轻松编写第一个Scala程序29

2.1.5 在网页上编写Scala程序31

任务2.2 查找并输出店铺的相关信息32

2.2.1 数据类型32

2.2.2 变量与常量32

2.2.3 Scala中的运算符34

2.2.4 if条件语句36

2.2.5 Scala中的函数37

2.2.6 使用函数查询4S店信息39

任务2.3 统计广州4S店的数量40

2.3.1 for循环40

2.3.2 while、do...while循环41

2.3.3 数组42

2.3.4 使用循环统计广州4S店的数量43

任务2.4 分组统计4S店信息43

2.4.1 元组43

2.4.2 List44

2.4.3 Set46

2.4.4 Map47

2.4.5 高阶函数48

2.4.6 使用集合分组统计4S店的信息51

任务2.5 编写独立应用程序对店铺数据进行

分析52

2.5.1 类与对象52

2.5.2 继承53

2.5.3 特质54

2.5.4 单例对象与伴生对象55

2.5.5 模式匹配与样例类56

2.5.6 文件的读/写57

2.5.7 读取数据文件对4S店数据

进行分析58

项目小结59

课后练习60

能力拓展60

项目三 Spark RDD分析交通违章记录61

项目概述61

项目演示61

思维导图62

任务3.1 根据交通违章数据创建RDD62

3.1.1 认识RDD62

3.1.2 从Seq集合创建RDD63

3.1.3 从外部存储创建RDD65

3.1.4 从交通违法数据文件创建RDD67

任务3.2 找出扣分最高的交通违法条目67

3.2.1 map操作68

3.2.2 使用collect查看元素69

3.2.3 使用take(N)方法查询RDD中的

N个值69

3.2.4 使用first操作得到第一个

元素值69

3.2.5 flatMap操作70

3.2.6 使用sortBy操作对RDD的

元素进行排序70

3.2.7 找出扣分最多的三种交通

违法条目71

任务3.3 查找某车辆的违章记录72

3.3.1 filter操作过滤RDD的元素72

3.3.2 distinct操作进行元素去重73

3.3.3 union操作进行RDD合并73

3.3.4 intersection操作求两个RDD的

共同元素74

3.3.5 subtract操作求两个RDD的补75

3.3.6 cartesian操作求两个RDD的

笛卡尔积75

3.3.7 查找车辆AK0803的违章记录75

任务3.4 查找违章3次以上车辆76

3.4.1 键值对RDD76

3.4.2 keys操作得到一个新RDD77

3.4.3 values操作得到一个新RDD77

3.4.4 lookup查找value77

3.4.5 groupByKey78

3.4.6 reduceByKey78

3.4.7 mapValues对键值对RDD的

value进行处理79

3.4.8 sortByKey排序79

3.4.9 查找违章3次以上车辆80

任务3.5 查找累计扣12分以上车辆信息80

3.5.1 zip操作将两个RDD组合成

键值对RDD81

3.5.2 join连接两个RDD81

3.5.3 rightOuterJoin82

3.5.4 leftOuterJoin82

3.5.5 fullOuterJoin82

3.5.6 查找累计扣12分以上

车辆信息83

任务3.6 各类文件的读/写操作85

3.6.1 读/写文本文件85

3.6.2 读/写JSON格式的数据86

3.6.3 读/写CSV、TSV格式文件88

3.6.4 读/写SequenceFile文件90

3.6.5 读取文件进行词频统计并

存储结果91

3.6.6 将违章信息保存为TSV

格式文件92

项目小结94

课后练习94

能力拓展95

项目四 Spark SQL处理结构化学生数据97

项目概述97

项目演示97

思维导图98

任务4.1 初识结构化数据处理工具

Spark SQL98

4.1.1 Spark SQL的产生98

4.1.2 Spark SQL的特点99

4.1.3 体验Spark SQL不同版本的

操作差异99

任务4.2 认识DataFrame、Dataset

数据类型100

4.2.1 认识DataFrame100

4.2.2 认识Dataset101

4.2.3 RDD、DataFrame、Dataset

三者的区别102

任务4.3 由学生信息创建DataFrame102

4.3.1 由学生信息JSON文件

创建DataFrame102

4.3.2 printSchema打印DataFrame的

数据模式103

4.3.3 show方法显示DataFrame中的

数据103

4.3.4 获取DataFrame若干行记录105

4.3.5 获取DataFrame所有记录106

任务4.4 Spark SQL分析学生信息(1)106

4.4.1 where方法106

4.4.2 filter筛选相关数据108

4.4.3 select方法108

4.4.4 selectExpr方法109

4.4.5 获取指定的Column109

4.4.6 去掉指定的列110

任务4.5 Spark SQL分析学生信息(2)110

4.5.1 limit方法获取前N行110

4.5.2 orderBy、sort排序111

4.5.3 groupBy操作112

4.5.4 distinct方法去重操作113

4.5.5 agg操作114

4.5.6 join操作114

任务4.6 Spark SQL分析学生信息(3)115

4.6.1 stat方法获取指定字段

统计信息115

4.6.2 intersect方法获取两个

DataFrame的共有记录116

4.6.3 操作字段名116

4.6.4 处置空值117

任务4.7 SQL语法风格处理学生信息118

4.7.1 Spark SQL中的DSL风格与

SQL风格118

4.7.2 创建临时视图119

4.7.3 按条件查找学生信息119

4.7.4 分组统计学生信息119

4.7.5 用户自定义函数判断学生

是否成年120

任务4.8 其他类型数据创建DataFrame121

4.8.1 内存数据创建DataFrame121

4.8.2 JSON文件创建DataFrame122

4.8.3 CSV数据创建DataFrame122

4.8.4 Parquet数据创建DataFrame122

4.8.5 DataFrame数据保存到文件中123

任务4.9 RDD、DataFrame与Dataset的

相互转换123

4.9.1 使用反射机制由RDD生成

DataFrame123

4.9.2 以编程方式由RDD生成

DataFrame124

4.9.3 DataFrame转换为RDD126

4.9.4 DataFrame与Dataset之间的

转换126

任务4.10 通过JDBC连接MySQL

数据库127

4.10.1 准备工作127

4.10.2 读取MySQL表格创建

DataFrame128

4.10.3 DataFrame数据写入MySQL129

任务4.11 Spark SQL读/写Hive数据130

4.11.1 编译源代码、创建支持Hive的

版本130

4.11.2 读取Hive数据130

项目小结131

课后练习132

能力拓展132

项目五 Spark编程进阶134

项目概述134

项目演示134

思维导图134

任务5.1 搭建IntelliJ IDEA开发环境135

5.1.1 下载安装IntelliJ IDEA135

5.1.2 创建工程141

5.1.3 修改pom.xml的内容144

5.1.4 新建Scala文件、编写程序146

5.1.5 在IDEA中运行程序147

5.1.6 工程打包、提交集群运行148

任务5.2 IDEA下用Spark RDD分析

Sogou日志149

5.2.1 数据说明150

5.2.2 需求分析150

5.2.3 IDEA下编写程序151

5.2.4 运行程序153

任务5.3 IDEA下用Spark SQL分析

疫苗流向数据153

5.3.1 数据说明153

5.3.2 需求分析154

5.3.3 IDEA下编写程序154

5.3.4 运行程序156

任务5.4 使用RDD缓存机制

提升效率157

5.4.1 Spark 缓存机制概述158

5.4.2 Spark RDD缓存体验159

任务5.5 认识RDD广播变量和累加器162

5.5.1 共享变量162

5.5.2 广播变量162

5.5.3 累加器164

任务5.6 理解RDD的依赖关系165

5.6.1 Spark RDD的执行流程165

5.6.2 RDD间的依赖关系166

5.6.3 检查点机制167

项目小结169

课后练习169

能力拓展169

项目六 Spark Streaming处理流数据171

项目概述171

项目演示171

思维导图171

任务6.1 初识流数据处理模块

Spark Streaming172

6.1.1 Spark Streaming的产生172

6.1.2 Spark Streaming的工作原理173

6.1.3 用Spark-Shell编写第一个

Spark Streaming程序174

6.1.4 用IDEA工具写第一个

Spark Streaming程序177

6.1.5 编写Spark Streaming程序的

基本步骤178

任务6.2 读取基础数据源到DStream中178

6.2.1 读取文件流178

6.2.2 读取套接字流180

6.2.3 读取RDD队列流180

任务6.3 读取Kafka数据到DStream中182

6.3.1 Spark Streaming支持的高级

数据源182

6.3.2 了解Kafka的工作原理182

6.3.3 Kafka的安装与测试183

6.3.4 编写Spark Streaming程序找出

超速车辆185

任务6.4 DStream的转换操作187

6.4.1 DStream无状态转换操作187

6.4.2 DStream有状态转换操作190

任务6.5 DStream的输出操作193

6.5.1 DStream写入到文本文件194

6.5.2 DStream写入到MySQL

数据库的方法分析195

6.5.3 车辆定位数据写入到

MySQL数据库196

任务6.6 Spark Streaming实时处理

电商用户行为数据198

6.6.1 数据集说明与准备工作199

6.6.2 任务整体思路200

6.6.3 Kafka的相关准备工作200

6.6.4 创建MySQL数据库、

数据库表200

6.6.5 数据写入Kafka主题中201

6.6.6 Spark Streaming处理userbehavior

主题中的数据202

6.6.7 运行结果分析204

项目小结204

课后练习205

能力拓展205

项目七 Spark ML实现电影推荐206

项目概述206

项目演示206

思维导图206

任务7.1 初识Spark机器学习207

7.1.1 机器学习概述207

7.1.2 机器学习的应用场景208

7.1.3 Spark机器学习库208

任务7.2 使用Spark ML进行数据

特征提取与转换209

7.2.1 特征提取209

7.2.2 特征转换212

任务7.3 Spark分类与聚类215

7.3.1 朴素贝叶斯分类215

7.3.2 k-means聚类218

任务7.4 使用协同过滤算法进行

电影推荐220

7.4.1 推荐算法原理与分类220

7.4.2 利用Spark ML实现电影推荐221

项目小结223

课后练习223

能力拓展224

参考文献226

ed538bff52e064da29cf91bb20ba5126.png 735735723c96edcc27acdbce3f0450b3.png 7473bb8e679ebe809e5ef39ae60fe8d2.png

高职大数据技术与应用专业课程体系

8436d3bc7025c89afca070053a9a668f.gif 22f6c6ff69216cb6e141a9e7f3fa40e2.png 8986de3458bca317bda8ad01ad5c5459.png

(书中序言有详细介绍)

心理学150个效应大全

长尾效应

英文名称LongTailEffect。“头”(head)和“尾”(tail)是两个统计学名词。正态曲线中间的突起部分叫“头”;两边相对平缓的部分叫“尾”。新竞争力从人们需求的角度来看,大多数的需求会集中在头部,而这部分我们可以称之为流行,而分布在尾部的需求是个性化的,零散的小量的需求。而这部分差异化的,少量的需求会在需求曲线上面形成一条长长的“尾巴”,而所谓长尾效应就在于它的数量上,将所有非流行的市场累加起来就会形成一个比流行市场还大的市场。

44148336382a4ad4c4aee661fff8cab5.png

                                                  (搜狗百科)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值