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

相关推荐
小白说大模型16 分钟前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
howdoyoudo20260636 分钟前
AI审计手记 #01(数据补全版):107小时、17,600次操作——OpenAI越狱案完整攻击链量化分析
大数据·人工智能·安全·ai·语言模型
hrrrrxeeeee42 分钟前
不同基础怎么报考 CAIE 认证|Level I 与 Level II 报考指南
大数据·人工智能·产品经理
Wang's Blog1 小时前
PostgreSQL笔记28: PostgreSQL ACID 特性与实现机制深度解析
大数据·笔记·postgresql
艺术留白1 小时前
MokaTest使用篇-SQL接口
数据库·sql
湖南源点调研咨询2 小时前
湖南(源点)市场调研 服务标准化建立指南与切入方式(中篇)
大数据·产品运营·用户运营·用户体验
AI_Auto3 小时前
中小企业数字化转型指南 | 拆解中小企业数字化四大转型特征
大数据·人工智能·制造
资深低代码开发平台专家4 小时前
2026企业级AI编程平台厂推荐:行业趋势、评估维度与主流品牌对比解析
大数据·人工智能·ai编程
小白说大模型4 小时前
Spring AI 框架中集成 MCP 的完整指南:从服务端到客户端的全流程实践
大数据·数据库·人工智能·安全·spring·chatgpt·开源
HiDev_5 小时前
【非标自动化】2、认识元器件(液压泵和液压阀)
大数据·人工智能·自动化