1、前言
2、基础概念篇
SQL&Table API 简介及运行环境
- 简介
- 运行环境
SQL&Table API 的基本概念及常用API
- 一个SQL/Table API任务的代码结构
- SQL上下文:TableEnvironment
- SQL表概念
- SQL临时表、永久表
- SQL外部表、试图VIEW
- 一个SQL查询案例
- TableEnvironment常用API
- SQL与DataStream API的转换
SQL数据类型
- 原子数据类型
- 复合数据类型
- 用户自定义数据类型
SQL动态表&连续查询
- SQL 应用到流处理思路
- 流批处理的异同点及将SQL应用于流处理核心解决的问题
- SQL流处理输入:输入流映射为SQL动态输入表
- SQL流处理计算:实时处理底层技术-SQL连续查询
- SQL流处理实际应用:动态表&连续查询技术的两个实战案例
- SQL连续查询的两种类型:更新(Update)查询&追加(Append)查询
- SQL流处理的输出:动态输出表转化为输出数据
- 补充知识:SQL与关系代数
SQL时间属性
- Flink三种时间属性简介
- Flink三种时间属性应用场景
- SQL指定时间属性两种方式
- SQL事件时间案例
- SQL处理时间案例
SQL时区问题
- SQL时区解决的问题
- SQL时间类型
- 时区参数生效的SQL时间函数
- 事件时间和时区应用案例
- 处理时间和时区应用案例
- SQL时间函数返回在流批任务中的异同
3、SQL语法篇
DDL
- CREATE:建表、库、函数
- DROP:删表、库、函数
- ALTER:该表、库、函数
- Connector:数据源、数据汇连接器
- Format:数据源、数据汇中的数据序列化方式
DML
- WITH...AS
- SELECT & WHERE:ETL、字段标准化
- SELECT DISTINCT:去重
- 窗口聚合
- TUMBLE:滚动窗口
- HOP:滑动窗口
- SESSION 窗口
- CUMULATE:渐进式窗口
- Window TVF
- GROUPING SETS:自定义维度组合
- Group聚合
- GROUPING SETS:自定义维度组合
- ROLLUP:维度上卷组合
- CUBE:全维度组合
- Over聚合
- Joins
- Regular Joins
- Inner Join
- Left Join
- Right Join
- Full Join
- Interval Joins:时间区间Join
- Temporal Joins:快照Join
- Versioned Table
- 事件时间Temporal Join
- 处理时间Temporal Join
- Lookup Join:维度Join
- Array Expansion:维度炸开(列转行)
- Table Function:表函数
- Inner Join
- Left Join
- Regular Joins
- Set Operations:聚合操作
- UNION:聚合合并
- INTERSECT:交集
- EXCEPT:差集
- IN:IN子查询
- EXISTS
- ORDER BY:排序
- LIMIT
- TopN:row_number排行榜
- Window TopN:窗口内TopN
- Dedpulication:去重
其他子句
- EXPLAIN:执行计划
- USE:使用Catalog、库、Module
- SHOW
- LOAD\UNLOAD:加载、卸载Module
- SET\RESET:设置、重置执行环境配置
- SQL Hints
UDF
- 系统内置UDF
- UDF:一对一
- UDAF:多对一
- UDTF:一对多
- UDTAGG:多对多
4、SQL UDF篇
SQL函数的归类
- 系统(内置)函数、Catalog函数
- 临时函数、持久化函数
SQL函数的引用方式
SQL函数的解析顺序
系统内置函数
SQL自定义函数(UDF)
开发UDF之前的须知事项
- 集成UDF基类
- 实现UDF执行逻辑函数
- 注意UDF入参、出参类型推导
- 明确UDF输出结果是否是定值
- 巧妙运用运行时上下文
SQL标量函数(Scalar Function)
SQL表值函数(Table Function)
SQL聚合函数(Aggregate Function)
SQL表值聚合函数(Table Aggregate Function)
5、SQL 能力扩展篇
SQL UDF扩展-Module
- CoreModule:默认内置Module
- 用户自定义Module
- HiveModule:支持Hive内置UDF
- 应用案例:Flink SQL支持Hive UDF
SQL元数据持久化扩展-Catalog
- GenericMemoryCatalog:默认内存Catalog
- JdbcCatalog
- HiveCatalog:使用Hive Metastore存储元数据
- 用户自定义Catalog
SQL任务参数配置
- 运行时参数
- 优化器参数
- 表参数
SQL性能调优
- MiniBatch聚合:微批聚合
- Local-Global聚合:两阶段聚合优化
- Split-Distinct聚合:去重分桶避免数据倾斜
- Filter聚合:去重Bitmap复用