加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Apache Flink 漫谈系列 - SQL概览

发布时间:2018-11-15 16:12:14 所属栏目:教程 来源:孙金城
导读:一、SQL简述 SQL是Structured Query Language的缩写,最初是由美国计较机科学家Donald D. Chamberlin和Raymond F. Boyce在20世纪70年月早期从 Early History of SQL 中相识相关模子后在IBM开拓的。该版本最初称为[SEQUEL: A Structured English Query Lang

我们统计同类商品中当前和当前商品之前2分钟商品中的最高价值。

  1. ELECT 
  2. itemID, 
  3. itemType, 
  4. onSellTime, 
  5. price, 
  6. MAX(price) OVER ( 
  7. PARTITION BY itemType 
  8. ORDER BY rowtime 
  9. RANGE BETWEEN INTERVAL '2' MINUTE preceding AND CURRENT ROW) AS maxPrice 
  10. FROM item_tab 

d. Result(Bounded RANGE OVER Window)

Apache Flink 漫谈系列 - SQL概览

e. 出格声名

OverWindow最重要是要领略每一行数据都确定一个窗口,同时今朝在Apache Flink中只支持定时刻字段排序。而且OverWindow开窗与GroupBy方法数据分组最大的差异在于,GroupBy数据分组统计时辰,在SELECT中除了GROUP BY的key,不能直接选择其他非key的字段,可是OverWindow没有这个限定,SELECT可以选择任何字段。好比一张表table(a,b,c,d)4个字段,假如按d分组求c的最大值,两种写完如下:

  • GROUP BY - SELECT d, MAX(c) FROM table GROUP BY d
  • OVER Window = SELECT a, b, c, d, MAX(c) OVER(PARTITION BY d, ORDER BY ProcTime())

如上 OVER Window 固然PARTITION BY d,但SELECT 中如故可以选择 a,b,c字段。但在GROUPBY中,SELECT 只能选择 d 字段。

2. Group Window

按照窗口数据分另外差异,今朝Apache Flink有如下3种Bounded Winodw:

  • Tumble - 转动窗口,窗口数据有牢靠的巨细,窗口数据无叠加;
  • Hop - 滑动窗口,窗口数据有牢靠巨细,而且有牢靠的窗口重建频率,窗口数据有叠加;
  • Session - 会话窗口,窗口数据没有牢靠的巨细,按照窗口数据活泼水中分别窗口,窗口数据无叠加。

声名: Aapche Flink 还支持UnBounded的 Group Window,也就是全局Window,流上全部数据都在一个窗口内里,语义很是简朴,这里不做具体先容了。

(1) Tumble

a. 语义

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读