封面
版权信息
内容简介
作者简介
前言
第1章 Spark开发准备——Scala基础
1.1 什么是Scala
1.2 安装Scala
1.2.1 在Windows中安装Scala
1.2.2 在CentOS 7中安装Scala
1.3 Scala基础
1.3.1 变量声明
1.3.2 数据类型
1.3.3 表达式
1.3.4 循环
1.3.5 方法与函数
1.4 集合
1.4.1 数组
1.4.2 List
1.4.3 Map映射
1.4.4 元组
1.4.5 Set
1.5 类和对象
1.5.1 类的定义
1.5.2 单例对象
1.5.3 伴生对象
1.5.4 get和set方法
1.5.5 构造器
1.6 抽象类和特质
1.6.1 抽象类
1.6.2 特质
1.7 使用Eclipse创建Scala项目
1.7.1 安装Scala for Eclipse IDE
1.7.2 创建Scala项目
1.8 使用IntelliJ IDEA创建Scala项目
1.8.1 在IDEA中安装Scala插件
1.8.2 创建Scala项目
1.9 动手练习
第2章 初识Spark
2.1 大数据开发的总体架构
2.2 什么是Spark
2.3 Spark的主要组件
2.4 Spark运行架构
2.4.1 YARN集群架构
2.4.2 Spark Standalone架构
2.4.3 Spark On YARN架构
2.5 Spark集群搭建与测试
2.5.1 Spark Standalone模式的集群搭建
2.5.2 Spark On YARN模式的集群搭建
2.5.3 Spark HA的搭建
2.6 Spark应用程序的提交
2.7 Spark Shell的使用
2.8 动手练习
第3章 Spark RDD弹性分布式数据集
3.1 什么是RDD
3.2 创建RDD
3.2.1 从对象集合创建RDD
3.2.2 从外部存储创建RDD
3.3 RDD的算子
3.3.1 转化算子
3.3.2 行动算子
3.4 RDD的分区
3.4.1 分区数量
3.4.2 自定义分区器
3.5 RDD的依赖
3.5.1 窄依赖
3.5.2 宽依赖
3.5.3 Stage划分
3.6 RDD的持久化
3.6.1 存储级别
3.6.2 查看缓存
3.7 RDD的检查点
3.8 共享变量
3.8.1 广播变量
3.8.2 累加器
3.9 案例分析:Spark RDD实现单词计数
3.9.1 新建Maven管理的Spark项目
3.9.2 编写WordCount程序
3.9.3 提交程序到集群
3.10 案例分析:Spark RDD实现分组求TopN
3.11 案例分析:Spark RDD实现二次排序
3.12 案例分析:Spark RDD计算成绩平均分
3.13 案例分析:Spark RDD倒排索引统计每日新增用户
3.14 案例分析:Spark RDD读写HBase
3.14.1 读取HBase表数据
3.14.2 写入HBase表数据
3.15 案例分析:Spark RDD数据倾斜问题的解决
3.15.1 数据倾斜的常用解决方法
3.15.2 使用随机key进行双重聚合
3.15.3 WebUI查看Spark历史作业
3.16 动手练习
第4章 Spark内核源码分析
4.1 Spark集群启动原理分析
4.2 Spark应用程序提交原理分析
4.3 Spark作业工作原理分析
4.3.1 MapReduce的工作原理
4.3.2 Spark作业的工作原理
4.4 Spark检查点原理分析
第5章 Spark SQL结构化数据处理引擎
5.1 什么是Spark SQL
5.2 DataFrame和Dataset
5.3 Spark SQL的基本使用
5.4 Spark SQL数据源
5.4.1 基本操作
5.4.2 Parquet文件
5.4.3 JSON数据集
5.4.4 Hive表
5.4.5 JDBC
5.5 Spark SQL内置函数
5.5.1 自定义函数
5.5.2 自定义聚合函数
5.5.3 开窗函数
5.6 案例分析:使用Spark SQL实现单词计数
5.7 案例分析:Spark SQL与Hive的整合
5.7.1 整合Hive的步骤
5.7.2 操作Hive的几种方式
5.8 案例分析:Spark SQL读写MySQL
5.9 案例分析:Spark SQL每日UV统计
5.10 案例分析:Spark SQL热点搜索词统计
5.11 综合案例:Spark SQL智慧交通数据分析
5.11.1 项目介绍
5.11.2 数据准备
5.11.3 统计正常卡口数量
5.11.4 统计车流量排名前3的卡口号
5.11.5 统计车辆高速通过的卡口Top5
5.11.6 统计每个卡口通过速度最快的前3辆车
5.11.7 车辆轨迹分析
5.12 动手练习
第6章 Kafka分布式消息系统
6.1 什么是Kafka
6.2 Kafka架构
6.3 主题与分区
6.4 分区副本
6.5 消费者组
6.6 数据存储机制
6.7 集群环境搭建
6.8 命令行操作
6.8.1 创建主题
6.8.2 查询主题
6.8.3 创建生产者
6.8.4 创建消费者
6.9 Java API操作
6.9.1 创建Java工程
6.9.2 创建生产者
6.9.3 创建消费者
6.9.4 运行程序
6.10 案例分析:Kafka生产者拦截器
6.11 动手练习
第7章 Spark Streaming实时流处理引擎
7.1 什么是Spark Streaming
7.2 Spark Streaming工作原理
7.3 输入DStream和Receiver
7.4 第一个Spark Streaming程序
7.5 Spark Streaming数据源
7.5.1 基本数据源
7.5.2 高级数据源
7.5.3 自定义数据源
7.6 DStream操作
7.6.1 无状态操作
7.6.2 状态操作
7.6.3 窗口操作
7.6.4 输出操作
7.6.5 缓存及持久化
7.6.6 检查点
7.7 案例分析:Spark Streaming按批次累加单词数量
7.8 案例分析:Spark Streaming整合Kafka计算实时单词数量
7.9 案例分析:Spark Streaming实时用户日志黑名单过滤
7.10 综合案例:微博用户行为分析
7.11 动手练习
第8章 Structured Streaming结构化流处理引擎
8.1 什么是Structured Streaming
8.2 Structured Streaming单词计数
8.3 Structured Streaming编程模型
8.4 Structured Streaming查询输出
8.5 Structured Streaming窗口操作
8.5.1 事件时间
8.5.2 窗口聚合单词计数
8.5.3 延迟数据和水印
8.6 案例分析:Structured Streaming整合Kafka实现单词计数
8.7 动手练习
第9章 GraphX图计算引擎
9.1 什么是GraphX
9.2 第一个GraphX程序
9.3 GraphX数据结构
9.4 GraphX图操作
9.4.1 基本操作
9.4.2 属性操作
9.4.3 结构操作
9.4.4 连接操作
9.4.5 聚合操作
9.5 案例分析:使用GraphX计算社交网络中粉丝的平均年龄
9.6 动手练习
更新时间:2023-07-17 19:33:04