欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

Flink SQL Client中的Chained (Event) Time Windows

发布时间:2023/12/31 windows 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Flink SQL Client中的Chained (Event) Time Windows 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Flink SQL Cookbook中有Chained (Event) Time Windows

该md文件举了两个例子,

前面一个例子是Chained Windows

后面一个例子是Non-Chained Windows

 

该md文件的前半部分图示如下:

上图中存在两个server_logs_window_5m

①Chained Windows

②Non-Chained Windows

所以②比①更加有计算上的效率,但是耦合性也更强。

 

上图图示中,三条红线就是所谓的Chained (Event) Time Windows

这个概念出自Ververcica公司的flink sql cookbook

Chained (Event) Time Windows的SQL距离

 

Chained (Event) Time Windows的SQL举例(对应上图中的3个红色箭头):

Chained (Event) Time Windows的数据流向具体对应的SQL
server_logs_window_1m->server_logs_window_5mCREATE TEMPORARY VIEW server_logs_window_5m AS 
SELECT 
  TUMBLE_START(window_end, INTERVAL '5' MINUTE) AS window_start,
  TUMBLE_ROWTIME(window_end, INTERVAL '5' MINUTE) AS window_end,
  SUM(total_size) AS total_size,
  SUM(num_requests) AS num_requests
FROM server_logs_window_1m
GROUP BY 
  TUMBLE(window_end, INTERVAL '5' MINUTE);
server_logs_window_1m->avg_request_size_1mINSERT INTO avg_request_size_1m SELECT
  window_start,
  window_end, 
  total_size/num_requests AS avg_size
FROM server_logs_window_1m;
server_logs_window_5m->avg_request_size_5mINSERT INTO avg_request_size_5m SELECT
  window_start,
  window_end, 
  total_size/num_requests AS avg_size
FROM server_logs_window_5m;
 

 

 

Chained Windows与Non-Chained Windows的SQL写法对比

Windows类型具体对应的SQL
Chained WindowsCREATE TEMPORARY VIEW server_logs_window_5m AS 
SELECT 
  TUMBLE_START(window_end, INTERVAL '5' MINUTE) AS window_start,
  TUMBLE_ROWTIME(window_end, INTERVAL '5' MINUTE) AS window_end,
  SUM(total_size) AS total_size,
  SUM(num_requests) AS num_requests
FROM server_logs_window_1m
GROUP BY 
  TUMBLE(window_end, INTERVAL '5' MINUTE);
Non-Chained WindowsCREATE TEMPORARY VIEW server_logs_window_5m AS 
SELECT 
  TUMBLE_START  (log_time, INTERVAL '5' MINUTE) AS window_start,
  TUMBLE_ROWTIME(log_time, INTERVAL '5' MINUTE) AS window_end,
  SUM(size) AS total_size,
  COUNT(*) AS num_requests
FROM server_logs
GROUP BY 
  TUMBLE(log_time, INTERVAL '5' MINUTE);

 

 

 

 

总结

以上是生活随笔为你收集整理的Flink SQL Client中的Chained (Event) Time Windows的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。