本文为您介绍如何使用 Spark SQL 流式处理中的滑动窗口函数。

什么是滑动窗口

滑动窗口(HOPPING),也被称作 Sliding Window。不同于滚动窗口,滑动窗口的窗口可以重叠。滑动窗口有两个参数:windowDuration 和slideDuration。slideDuration 为每次滑动的步长,windowDuration 为窗口的大小。
  • slideDuration < windowDuration:则窗口会重叠,每个元素会被分配到多个窗口。
  • slideDuration = windowDuration::则等同于滚动窗口(TUMBLING)。

语法

GROUP BY HOPPING ( colName, windowDuration, slideDuration ) 

示例

SELECT avg(inv_quantity_on_hand) qoh
FROM kafka_inventory
GROUP BY HOPPING (inv_data_time, interval 1 minute, interval 30 second)