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语法扩展

相关推荐
0和1的舞者7 分钟前
《Git:从入门到精通(八)——企业级git开发相关内容》
大数据·开发语言·git·搜索引擎·全文检索·软件工程·初学者
运维行者_1 小时前
AWS云服务故障复盘——从故障中汲取的 IT 运维经验
大数据·linux·运维·服务器·人工智能·云计算·aws
TDengine (老段)1 小时前
TDengine 配置参数作用范围对比
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
武子康3 小时前
大数据-135 ClickHouse 集群连通性自检 + 数据类型避坑实战|10 分钟跑通 ON CLUSTER
大数据·分布式·后端
小蜗的房子3 小时前
MySQL学习之SQL语法与操作
数据结构·数据库·经验分享·sql·mysql·学习方法·数据库开发
Olrookie3 小时前
StreamX部署详细步骤
大数据·笔记·flink
CRMEB系统商城4 小时前
【新版发布】标准版PHP v5.6.4正式版,优化部分用户体验
java·大数据·小程序·php·ux
m0_748255414 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
大数据·git·elasticsearch
腾视科技5 小时前
安全驾驶 智在掌控|腾视科技ES06终端,为车辆运营赋能
大数据·人工智能·科技·安全·大模型