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

相关推荐
“抚琴”的人1 小时前
SQL Server—的数据类型
数据库·sql
cd_farsight2 小时前
web 和大数据的就业前景怎么样?
大数据·web开发
青云交2 小时前
大数据新视界 --大数据大厂之 Presto 性能优化秘籍:加速大数据交互式查询
大数据·数据库·性能优化·presto·数据一致性·查询优化·交互式查询·传统查询工具
goTsHgo2 小时前
HBase中的Write-Ahead Log 详解
大数据·分布式·hbase
Play_Sai3 小时前
【大数据应用开发】2023年全国职业院校技能大赛赛题第05套
大数据·vue.js·hive·flink·spark·大数据应用开发·技能竞赛
数据智能老司机3 小时前
使用 Apache Arrow 进行内存分析——如何在 Arrow 项目中留下你的印记
大数据·架构·数据分析
hengzhepa4 小时前
ElasticSearch备考 -- Multi field
大数据·学习·elasticsearch·搜索引擎·全文检索·es
大模型安全5 小时前
做大模型备案的企业看过来,详解大模型备案重难点【评估测试题+备案源文件】
大数据·人工智能·安全·语言模型·aigc
乙真仙人6 小时前
数据仓库的建设——从数据到知识的桥梁
大数据·数据仓库
丶21367 小时前
【SQL】掌握SQL查询技巧:数据聚合与分析
数据库·后端·sql