flink SOL介绍

Flink SQL介绍:

Flink有两种关系型API来做流批统一处理 :Table API 和SQL。
Flink SQL与spark SQL的区别是流批处理数据方式
Table API 是用于 Scala 和 Java 语言的查询API,它可以用一种非常直观的方式来组合使用选取、过滤、join 等关系型算子。
Flink SQL 是基于 Apache Calcite 来实现的标准 SQL。这两种 API 中的查询对于批(DataSet)和流(DataStream)的输入有相同的语义,也会产生同样的计算结果。
(Table API 和 SQL 现在还处于活跃开发阶段,还没有完全实现所有的特性)
Flink技术架构

Flink SQL的两个基本概念:
动态表

动态表是随时间变化的,但是查询方式和静态表一样,查询动态表会生成一个人连续查询,不会终止,生成结果也是一个动态表。
流程:
1.将流转换为动态表。
2.在动态表上生成连续查询,生成新的动态表
3.生成的动态表转换成流

连续查询

在动态表上计算一个连续查询,并生成一个新的动态表。与批处理查询不同,连续查询从不终止,并根据其输入表上的更新更新其结果表
在这里插入图片描述
说明:
1.当查询开始,clicks 表(左侧)是空的。
2.当第一行数据被插入到 clicks 表时,查询开始计算结果表。第一行数据 [Mary,./home] 插入后,结果表(右侧,上部)由一行 [Mary, 1] 组成。
3.当第二行 [Bob, ./cart] 插入到 clicks 表时,查询会更新结果表并插入了一行新数据 [Bob, 1]。
4.第三行 [Mary, ./prod?id=1] 将产生已计算的结果行的更新,[Mary, 1] 更新成 [Mary, 2]。
5.最后,当第四行数据加入 clicks 表时,查询将第三行 [Liz, 1] 插入到结果表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值