图书目录

目录

项目1认识Spark

任务1搭建Spark环境

【任务提出】

【任务分析】

【知识准备】

1.1认识Spark

1.1.1Spark内置模块

1.1.2Spark运行模式

1.2Spark安装

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2Spark程序运行

【任务提出】

【任务分析】

【知识准备】

1.3Spark集群架构及运行原理

1.4Spark作业运行流程

1.4.1Spark本地模式

1.4.2Spark独立模式

1.4.3SparkonYarn模式

1.5Spark RDD及核心原理

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目2Scala语法应用

任务1安装Scala

【任务提出】

【任务分析】

【知识准备】

2.1了解Scala

2.2编程范式

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2管理购物清单

【任务提出】

【任务分析】

【知识准备】

2.3基本语法

2.3.1基本数据类型

2.3.2变量和常量

2.3.3运算符

2.4集合类型之数组

2.5程序结构控制

2.5.1判断结构

2.5.2循环结构

2.6函数

2.6.1匿名函数

2.6.2高阶函数

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务3分析图书馆借阅记录

【任务提出】

【任务分析】

【知识准备】

2.7其他集合类型

2.7.1列表

2.7.2集合

2.7.3映射

2.7.4元组

2.8集合类函数

2.9面向对象编程基础

2.9.1类和对象

2.9.2样例类

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目3Spark Core数据分析

任务1单词计数

【任务提出】

【任务分析】

【知识准备】

3.1下载并安装IntelliJ IDEA

3.1.1下载及安装

3.1.2安装Scala插件

3.2部署Spark编程环境

3.3程序打包并在集群运行

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2统计交易额

【任务提出】

【任务分析】

【知识准备】

3.4创建RDD

3.4.1在驱动程序中并行化现有集合创建RDD

3.4.2引用外部存储系统中的数据集创建RDD

3.5RDD的常用转换操作

3.5.1使用map操作转换RDD

3.5.2使用filter操作过滤RDD

3.5.3使用flatMap操作转换RDD

3.5.4使用distinct操作对RDD去重

3.5.5使用repartition操作重新设置RDD分区数

3.5.6使用groupBy操作对RDD分组

3.5.7使用sortBy操作对RDD元素排序

3.6RDD的常用行动操作

3.6.1使用reduce操作对RDD元素进行聚合

3.6.2使用collect操作获取RDD元素集合

3.6.3使用count操作获取RDD元素个数

3.6.4使用first操作获取RDD第一个元素

3.6.5使用take操作获取RDD前n个元素

3.6.6使用foreach操作计算RDD每个元素

3.7集合类操作

3.7.1使用unoin操作合并多个RDD

3.7.2使用intersection操作计算交集

3.7.3使用substract操作计算差集

3.7.4使用cartesian操作计算笛卡儿积

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务3商品交易量分析

【任务提出】

【任务分析】

【知识准备】

3.8键值对RDD的创建

3.9键值对RDD的常用操作

3.9.1使用join操作连接键值对RDD

3.9.2使用groupByKey操作对键值对RDD进行分组

3.9.3使用reduceByKey操作对键值对RDD进行聚合

3.9.4使用sortByKey操作对键值对RDD进行排序

3.9.5使用countByKey操作按键计算键值对RDD个数

3.10RDD的输出操作

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务4分区保存销售数据

【任务提出】

【任务分析】

【知识准备】

3.11自定义分区器

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目4Spark SQL结构化数据处理

任务1导入电影评分数据

【任务提出】

【任务分析】

【知识准备】

4.1了解Spark SQL

4.1.1Spark SQL运行架构

4.1.2部署Spark SQL编程环境

4.2创建DataFrame对象

4.2.1通过结构化文件创建DataFrame

4.2.2通过外部数据库创建DataFrame

4.2.3通过RDD创建DataFrame

4.3查看及保存DataFrame对象

4.3.1查看DataFrame对象

4.3.2DataFrame对象的Save操作

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2分析电影评分数据

【任务提出】

【任务分析】

【知识准备】

4.4DataFrame对象的查询操作

4.4.1条件查询

4.4.2查询指定字段的数据信息

4.4.3查询前n条记录

4.4.4排序查询

4.4.5分组查询

4.4.6连接查询

4.5DataFrame对象的其他输出操作

4.6Spark SQL中常用的内置函数

4.6.1字符串函数

4.6.2类型转换函数

4.6.3条件判断函数

4.6.4日期函数

4.6.5窗口函数

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务3保存分析结果到MySQL

【任务提出】

【任务分析】

【知识准备】

4.7Spark SQL与MySQL的交互

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务4保存分析结果到Hive

【任务提出】

【任务分析】

【知识准备】

4.8Spark SQL与Hive的交互

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目5Spark流式数据处理

任务1实时订单数据采集

【任务提出】

【任务分析】

【知识准备】

5.1了解Spark Streaming

5.1.1Spark Streaming运行原理

5.1.2认识DStream

5.2创建DStream

5.2.1Spark Streaming编程模型

5.2.2Socket源创建DStream

5.2.3文件流创建DStream

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2实时订单金额分析

【任务提出】

【任务分析】

【知识准备】

5.3DStream转换操作

5.3.1无状态转换操作

5.3.2有状态操作

5.4DStream窗口操作

5.5DStream输出操作

5.6与Spark SQL的联合使用

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务3消费Kafka订单数据

【任务提出】

【任务分析】

【知识准备】

5.7Spark Streaming消费Kafka消息

5.7.1Kafka部署及测试

5.7.2编程环境部署

5.7.3消费Kafka消息

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目6Spark结构化流式处理

任务1实时温度监测

【任务提出】

【任务分析】

【知识准备】

6.1概述

6.1.1入门案例: 单词计数

6.1.2编程模型

6.2基于Datasets和DataFrames的操作

6.2.1创建输入源

6.2.2输入流的操作

6.2.3输出操作

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2公共交通实时监控

【任务提出】

【任务分析】

【知识准备】

6.3基于事件时间的窗口处理

6.3.1处理延迟数据和水印

6.3.2时间窗口的类型

6.3.3多水印规则

6.4触发器

6.5查询的管理和监控

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目7Spark机器学习应用

任务1产品表特征值处理

【任务提出】

【任务分析】

【知识准备】

7.1了解Spark MLlib

7.2特征工程

7.2.1基本数据类型

7.2.2特征提取

7.2.3特征转换

7.2.4特征选择

7.2.5流水线

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务2产品类别预测

【任务提出】

【任务分析】

【知识准备】

7.3分类和回归算法

7.3.1朴素贝叶斯

7.3.2逻辑回归

7.3.3决策树

7.3.4支持向量机SVM

7.4聚类算法

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

任务3电商推荐系统实现

【任务提出】

【任务分析】

【知识准备】

7.5推荐算法

7.5.1基于用户相似度的推荐算法

7.5.2基于物品相似度的推荐算法

7.5.3ALS算法

7.5.4基于内容的推荐算法

7.6模型评估

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

项目8社交软件运营数据分析

【任务提出】

【任务分析】

【知识准备】

8.1通用的数据分层设计

8.2关键任务解析

8.2.1数据入仓

8.2.2数据探索与清洗

8.2.3数据分析

8.2.4数据挖掘

【任务实现】

【任务总结】

【巩固练习】

【任务拓展】

参考文献