FlinkSQL中GROUP BY和OVER WINDOW有何不同?

助力车

可以两种不同方式在Flink中使用Windows

SELECT key, MAX(value)
  FROM table
 GROUP BY key, TUMBLE(ts, INTERVAL '5' MINUTE)

SELECT key, MAX(value) OVER w
  FROM table
 WINDOW w AS (PARTITION BY key ORDER BY ts ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

我想知道这两种机制是否可以表达相同的东西,或者两者的主要区别和可能的用例是什么?

费边·韦斯克(Fabian Hueske)

两个查询都计算出与常规SQL语义相对应的不同结果。因此,区别不在于Flink,而是SQL标准定义的。


第一个查询

SELECT key, MAX(value)
  FROM table
 GROUP BY key, TUMBLE(ts, INTERVAL '5' MINUTE)

key5分钟存储一次组记录每5分钟,查询将为每个key产生一行,且最大值为value对于每个组,将多行汇总为一行。


第二个查询

SELECT key, MAX(value) OVER w
  FROM table
 WINDOW w AS (PARTITION BY key ORDER BY ts ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

为输入(table)的每一行产生一行结果行具有到目前为止所观察到valuekey的最大值(行按排序ts)。请注意,多行不会聚合为单行;每个输入行产生一个输出行。此外,最大聚集的范围可以大于5分钟。实际上,这是key此示例中的整个分区。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

/ **和/ *在Grunt中目录导航方面有何不同?

来自分类Dev

haskell中的箭头和函数有何不同?

来自分类Dev

Rust-内存中的“ String”和“ str”有何不同?

来自分类Dev

Mockito中的Return和toReturn有何不同?

来自分类Dev

Ruby中模块和类的用法有何不同?

来自分类Dev

haskell中的箭头和函数有何不同?

来自分类Dev

在laravel 5.3中回声({!! ... !!}和{{...}})有何不同?

来自分类Dev

ChartObjects 和 TableRange 中的 beetwin Left 属性有何不同?

来自分类Dev

Xcode Playground中的“ import Cocoa”和“ import Foundation”有何不同

来自分类Dev

LDT和GDT在Intel x86中的用法有何不同?

来自分类Dev

getRealPath(“ /”)-此方法的结果在Tomcat 7和Tomcat 8中有何不同

来自分类Dev

Oracle中的NVL和NVL2功能是什么?它们有何不同?

来自分类Dev

python中的单个变量分配和多个变量分配之间是否有任何不同的行为?

来自分类Dev

Android Studio 4.0中BottomNavigationView和TabLayout之间的Tab UI有何不同?

来自分类Dev

Spyder中的“运行”和“运行(完全)选择”之间有何不同?

来自分类Dev

ASP.NET-在web.config中删除debug = true和使debug = false有何不同

来自分类Dev

在给定的操作中,chown和chmod命令有何不同?

来自分类Dev

32位和64位处理器中的堆栈有何不同

来自分类Dev

在mysql中,int和float数据类型之间的性能有何不同?

来自分类Dev

在使用备用屏幕和背景暂停方面,启动“较少”与在ZSH中启动“猫”有何不同?

来自分类常见问题

抽象和封装有何不同?

来自分类Dev

Numpy和Matlab的总和有何不同?

来自分类Dev

127.0.0.1、0.0.0.0和localhost有何不同?

来自分类Dev

List和List <String>有何不同?

来自分类Dev

Java中的equals()与==有何不同

来自分类Dev

在Tkinter中,padx用作小部件内的参数和网格函数中的参数时有何不同?

来自分类Dev

Hamcrest的hasItems,contains和containsInAnyOrder有何不同?

来自分类Dev

OpenGL-GLM和GLSL,它们有何不同?

来自分类Dev

与Locale.ITALY和Locale.ITALIAN有何不同

Related 相关文章

  1. 1

    / **和/ *在Grunt中目录导航方面有何不同?

  2. 2

    haskell中的箭头和函数有何不同?

  3. 3

    Rust-内存中的“ String”和“ str”有何不同?

  4. 4

    Mockito中的Return和toReturn有何不同?

  5. 5

    Ruby中模块和类的用法有何不同?

  6. 6

    haskell中的箭头和函数有何不同?

  7. 7

    在laravel 5.3中回声({!! ... !!}和{{...}})有何不同?

  8. 8

    ChartObjects 和 TableRange 中的 beetwin Left 属性有何不同?

  9. 9

    Xcode Playground中的“ import Cocoa”和“ import Foundation”有何不同

  10. 10

    LDT和GDT在Intel x86中的用法有何不同?

  11. 11

    getRealPath(“ /”)-此方法的结果在Tomcat 7和Tomcat 8中有何不同

  12. 12

    Oracle中的NVL和NVL2功能是什么?它们有何不同?

  13. 13

    python中的单个变量分配和多个变量分配之间是否有任何不同的行为?

  14. 14

    Android Studio 4.0中BottomNavigationView和TabLayout之间的Tab UI有何不同?

  15. 15

    Spyder中的“运行”和“运行(完全)选择”之间有何不同?

  16. 16

    ASP.NET-在web.config中删除debug = true和使debug = false有何不同

  17. 17

    在给定的操作中,chown和chmod命令有何不同?

  18. 18

    32位和64位处理器中的堆栈有何不同

  19. 19

    在mysql中,int和float数据类型之间的性能有何不同?

  20. 20

    在使用备用屏幕和背景暂停方面,启动“较少”与在ZSH中启动“猫”有何不同?

  21. 21

    抽象和封装有何不同?

  22. 22

    Numpy和Matlab的总和有何不同?

  23. 23

    127.0.0.1、0.0.0.0和localhost有何不同?

  24. 24

    List和List <String>有何不同?

  25. 25

    Java中的equals()与==有何不同

  26. 26

    在Tkinter中,padx用作小部件内的参数和网格函数中的参数时有何不同?

  27. 27

    Hamcrest的hasItems,contains和containsInAnyOrder有何不同?

  28. 28

    OpenGL-GLM和GLSL,它们有何不同?

  29. 29

    与Locale.ITALY和Locale.ITALIAN有何不同

热门标签

归档