全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

滚动窗口

更新时间:2018-01-18 16:38:59

滚动窗口分配器将每个元素分配的一个指定窗口大小的窗口中,滚动窗口有一个固定的大小,并且不会出现重叠。例如:如果你指定了一个5分钟大小的滚动窗口,当前窗口将被评估并将按下图说明每5分钟创建一个新的窗口。滚窗

语法:

  1. TUMBLEdateTimeinterval

注意:

在使用窗口函数时,一定要配置Event Time或Processing Time,

详情请参阅:窗口函数

案例:

  • 调试数据
a(VARCHAR) b(VARCHAR) c(timeStamp)
1 LiBai 1507601470000
1 LiBai 1507601471000
1 LiBai 1507601472000
1 LiBai 1507601473000
1 LiBai 1507601474000
1 LiBai 1507601475000
1 LiBai 1507601474000
1 LiBai 1507601479000

SQL案例

  1. CREATE TABLE window_input(
  2. a varchar,
  3. b varchar,
  4. c timeStamp,
  5. WATERMARK wk1 FOR c as withOffset(c, 2000)
  6. ) with (
  7. type='datahub',
  8. endPoint='http://dh-cn-hangzhou.aliyuncs.com',
  9. project='stream_compute_test',
  10. topic='window_input',
  11. accessId='0i70RRFXXXXXAs',
  12. accessKey='yF60EwURseoXXXXXPJ2zhCfHU'
  13. );
  14. CREATE TABLE tumble_output(
  15. id varchar,
  16. cnt BIGINT,
  17. t varchar
  18. ) with (
  19. type='datahub',
  20. endPoint='http://dh-cn-hangzhou.aliyuncs.com',
  21. project='stream_compute_test',
  22. topic='tumble_output',
  23. accessId='0i70RRFXXXX',
  24. accessKey='yF60EwURseo1UAXXXXXCfHU'
  25. );
  26. INSERT INTO tumble_output
  27. SELECT
  28. a,
  29. COUNT(a),
  30. cast(TUMBLE_START(c, INTERVAL '2' SECOND) as VARCHAR)
  31. FROM window_input
  32. GROUP BY TUMBLE(c, INTERVAL '2' SECOND), a
  • 测试结果:
id(VARCHAR) cnt(BIGINT) t(VARCHAR)
1 2 2017-10-10 10:11:10.0
1 2 2017-10-10 10:11:12.0
1 3 2017-10-10 10:11:14.0
1 1 2017-10-10 10:11:18.0
本文导读目录