FLINK SQL

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
  • 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复用

SQL用户自定义Source|Sink

SQL语法扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值