加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (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

Tumble 转动窗口有牢靠size,窗口数据不重叠,详细语义如下:

Apache Flink 漫谈系列 - SQL概览

b. 语法

Tumble 转动窗口对应的语法如下:

  1. SELECT 
  2. [gk], 
  3. [TUMBLE_START(timeCol, size)], 
  4. [TUMBLE_END(timeCol, size)], 
  5. agg1(col1), 
  6. ... 
  7. aggn(colN) 
  8. FROM Tab1 
  9. GROUP BY [gk], TUMBLE(timeCol, size) 
  • [gk] - 抉择了流是Keyed照旧/Non-Keyed;
  • TUMBLE_START - 窗口开始时刻;
  • TUMBLE_END - 窗口竣事时刻;
  • timeCol - 是流表中暗示时刻字段;
  • size - 暗示窗口的巨细,如 秒,分钟,小时,天。

c. SQL 示例

操作pageAccess_tab测试数据,我们必要按差异区域统计每2分钟的淘宝首页的会见量(PV)。

  1. SELECT 
  2. region, 
  3. TUMBLE_START(rowtime, INTERVAL '2' MINUTE) AS winStart, 
  4. TUMBLE_END(rowtime, INTERVAL '2' MINUTE) AS winEnd, 
  5. COUNT(region) AS pv 
  6. FROM pageAccess_tab 
  7. GROUP BY region, TUMBLE(rowtime, INTERVAL '2' MINUTE) 

d. Result

Apache Flink 漫谈系列 - SQL概览

(2) Hop

Hop 滑动窗口和转动窗口相同,窗口有牢靠的size,与转动窗口差异的是滑动窗口可以通过slide参数节制滑动窗口的新建频率。因此当slide值小于窗口size的值的时辰多个滑动窗口会重叠。

a. 语义

Hop 滑动窗口语义如下所示:

Apache Flink 漫谈系列 - SQL概览

b. 语法

Hop 滑动窗口对应语法如下:

  1. SELECT 
  2. [gk], 
  3. [HOP_START(timeCol, slide, size)] , 
  4. [HOP_END(timeCol, slide, size)], 
  5. agg1(col1), 
  6. ... 
  7. aggN(colN) 
  8. FROM Tab1 
  9. GROUP BY [gk], HOP(timeCol, slide, size) 
  • [gk] 抉择了流是Keyed照旧/Non-Keyed;
  • HOP_START - 窗口开始时刻;
  • HOP_END - 窗口竣事时刻;
  • timeCol - 是流表中暗示时刻字段;
  • slide - 是滑动步骤的巨细;
  • size - 是窗口的巨细,如 秒,分钟,小时,天;

c. SQL 示例

操作pageAccessCount_tab测试数据,我们必要每5分钟统计近10分钟的页面会见量(PV).

  1. SELECT 
  2. HOP_START(rowtime, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) AS winStart, 
  3. HOP_END(rowtime, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) AS winEnd, 
  4. SUM(accessCount) AS accessCount 
  5. FROM pageAccessCount_tab 
  6. GROUP BY HOP(rowtime, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) 

(编辑:湖南网)

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

热点阅读