详解 Flink Table API 和 Flink SQL 之流处理中的表

一、关系型表和流处理表对比

关系型表/SQL 流处理表
处理的数据对象 字段元组的有界集合 字段元组的无限序列
查询(Query)对数据的访问 可以访问到完整的数据输入 无法访问所有数据,必须持续"等待"流式输入
查询终止条件 生成固定大小的结果集后终止 永不停止,根据持续收到的数据不断更新查询结果

二、动态表

  • 当流中有新数据到来,初始的表中会插入一行;而基于这个表定义的 SQL 查询,就应该在之前的基础上更新结果。这样得到的表就会不断地动态变化,被称为"动态表"(Dynamic Tables)
  • 动态表是 Flink 在 T able API 和 SQL 中的核心概念,它为流数据处理提供了表和 SQL 支持。关系型表一般用来做批处理,面向的是固定的数据集,可以认为是"静态表";而动态表则完全不同,它里面的数据会随时间变化

三、持续查询

  • 动态表可以像静态的批处理表一样进行查询操作。由于数据在不断变化,因此基于它定义的 SQL 查询也不可能执行一次就得到最终结果,所以对动态表的查询就永远不会停止,一直在随着新数据的到来而继续执行。这样的查询就被称作"持续查询"(Continuous Query)

  • 动态表查询的处理过程:

    • 流(stream)被转换为动态表(dynamic table)

    • 对动态表进行持续查询(continuous query),生成新的动态表

    • 生成的动态表被转换成流

相关推荐
GEO AI搜索优化助手2 分钟前
生成式AI搜索的跨行业革命与商业模式重构
大数据·人工智能·搜索引擎·重构·生成式引擎优化·ai优化·geo搜索优化
武子康16 分钟前
大数据-198 KNN 必须先归一化:Min-Max 正确姿势、数据泄露陷阱与 sklearn 落地
大数据·后端·机器学习
递归尽头是星辰18 分钟前
Elasticsearch实战:检索优化、聚合分析与架构落地体系化
大数据·elasticsearch·架构·检索优化·聚合分析
Dxy123931021622 分钟前
Elasticsearch 8.13.4 动态同义词实战全解析
大数据·elasticsearch
芝麻开门-新起点27 分钟前
第24章-WebGIS发布与在线分析
大数据
qq_124987075335 分钟前
基于微信小程序的科技助农系统的设计与实现(源码+论文+部署+安装)
java·大数据·spring boot·后端·科技·微信小程序·毕业设计
GIS工具-gistools20211 小时前
台湾加油站分布地图数据
大数据·gis·加油站
Hello.Reader2 小时前
Flink ML Bucketizer 连续特征分桶(多列映射、splitsArray、handleInvalid)+ Java 示例解读
java·算法·flink
ctrigger2 小时前
监理工程师考试题型有哪些?4科题型+分值表
大数据·javascript·算法
Hello.Reader2 小时前
Flink ML Logistic Regression 离线训练 + 在线增量训练(FTRL-Proximal)
python·机器学习·flink