第1章 大数据技术概述
1.1 大数据概念与关键技术
1.1.1 大数据概念
1.1.2 大数据关键技术
1.2 代表性大数据技术
1.2.1 Hadoop
1.2.2 Spark
1.2.3 Flink
1.2.4 Beam
1.3 在线资源
1.4 本章小结
1.5 习题
第2章 Flink的设计与运行原理
2.1 Flink简介
2.2 为什么选择Flink
2.2.1 传统数据处理架构
2.2.2 大数据Lambda架构
2.2.3 流处理架构
2.2.4 Flink是理想的流计算框架
2.2.5 Flink的优势
2.3 Flink应用场景
2.3.1 事件驱动型应用
2.3.2 数据分析应用
2.3.3 数据流水线应用
2.4 Flink中的统一数据处理方式
2.5 Flink核心组件栈
2.6 Flink工作原理
2.7 Flink编程模型
2.8 Flink的应用程序结构
2.9 Flink程序的并行度
2.10 Flink中的数据一致性
2.10.1 有状态计算
2.10.2 数据一致性
2.10.3 异步屏障快照机制
2.11 本章小结
2.12 习题
第3章 大数据实验环境搭建
3.1 Linux系统的安装
3.1.1 下载安装文件
3.1.2 Linux系统的安装方式
3.1.3 安装Linux系统
3.2 Hadoop的安装
3.2.1 Hadoop版本简介
3.2.2 安装Hadoop前的准备工作
3.2.3 Hadoop的3种安装模式
3.2.4 下载Hadoop安装文件
3.2.5 单机模式配置
3.2.6 伪分布式模式配置
3.2.7 分布式模式配置
3.3 MySQL的安装
3.3.1 执行安装命令
3.3.2 启动MySQL服务
3.3.3 进入MySQL Shell界面
3.3.4 解决MySQL出现的中文乱码问题
3.4 Kafka的安装
3.4.1 Kafka简介
3.4.2 Kafka的安装和使用
3.5 本章小结
3.6 习题
实验1 Linux、Hadoop和MySQL的安装和使用
第4章 Flink环境搭建和使用方法
4.1 安装单机模式Flink
4.1.1 基础环境
4.1.2 安装Java环境
4.1.3 下载安装文件
4.1.4 修改配置文件
4.1.5 启动Flink
4.1.6 查看Web管理页面
4.1.7 运行样例程序
4.1.8 停止Flink
4.2 使用IntelliJ IDEA开发Flink应用程序
4.2.1 下载和安装IDEA
4.2.2 启动IDEA
4.2.3 使用IDEA开发WordCount程序
4.3 向Flink提交运行程序
4.3.1 使用命令提交运行程序
4.3.2 在Web管理页面中提交运行程序
4.4 设置任务并行度
4.5 Flink集群(Standalone模式)搭建
4.5.1 配置集群基础
4.5.2 在集群中安装Java环境
4.5.3 设置SSH无密码登录
4.5.4 安装和配置Flink
4.5.5 启动Flink集群
4.5.6 查看Flink集群信息
4.5.7 运行WordCount样例程序
4.5.8 关闭Flink集群
4.6 运行模式
4.6.1 会话模式
4.6.2 单作业模式
4.6.3 应用模式
4.7 Standalone部署模式下的不同运行模式
4.8 YARN部署模式下的不同运行模式
4.8.1 YARN模式集群配置
4.8.2 配置会话模式
4.8.3 配置单作业模式
4.8.4 配置应用模式
4.9 历史服务器
4.10 本章小结
4.11 习题
实验2 Flink的安装和使用
第5章 DataStream API
5.1 DataStream编程模型
5.1.1 数据源
5.1.2 数据转换
5.1.3 数据输出
5.2 窗口的划分
5.3 时间概念
5.4 窗口计算
5.4.1 窗口计算程序的结构
5.4.2 窗口分配器
5.4.3 窗口计算函数
5.4.4 触发器
5.4.5 驱逐器
5.5 水位线
5.5.1 水位线原理
5.5.2 水位线的设置方法
5.5.3 内置水位线生成策略
5.6 延迟到达数据处理
5.7 基于双流的合并
5.7.1 窗口连接
5.7.2 间隔连接
5.8 状态编程
5.8.1 状态的定义
5.8.2 状态的类型
5.8.3 键控状态
5.9 处理函数
5.9.1 处理函数的功能和作用
5.9.2 处理函数的分类
5.9.3 KeyedProcessFunction
5.9.4 ProcessAllWindowFunction
5.9.5 KeyedProcessFunction
5.10 本章小结
5.11 习题
实验3 Flink DataStream API编程实践
第6章 Table API&SQL
6.1 流处理中的表
6.1.1 传统关系数据库的SQL处理与流处理的区别
6.1.2 动态表和持续查询
6.1.3 将流转换为动态表
6.1.4 用SQL持续查询
6.1.5 将动态表转换为流
6.2 编程模型
6.2.1 程序执行原理
6.2.2 程序结构
6.2.3 TableEnvironment
6.2.4 输入数据
6.2.5 查询表
6.2.6 输出数据
6.2.7 表和DataStream的相互转换
6.2.8 时间属性
6.3 Table API
6.3.1 Table API应用实例
6.3.2 扫描、投影和过滤
6.3.3 列操作
6.3.4 聚合操作
6.3.5 连接操作
6.3.6 集
展开