Flink SQL Client的Rolling Aggregation实验解析
生活随笔
收集整理的這篇文章主要介紹了
Flink SQL Client的Rolling Aggregation实验解析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
基本概念
stddev
這個stddev是Strandard Deviation的縮寫
下面來分析一個FLINK SQL 執(zhí)行Rolling Aggregation的例子
?
?
如下:
SELECT measurement_time,city, temperature,AVG(CAST(temperature AS FLOAT)) OVER last_minute AS avg_temperature_minute,MAX(temperature) OVER last_minute AS min_temperature_minute,MIN(temperature) OVER last_minute AS max_temperature_minute,STDDEV(CAST(temperature AS FLOAT)) OVER last_minute AS stdev_temperature_minute FROM temperature_measurements WINDOW last_minute AS (PARTITION BY cityORDER BY measurement_timeRANGE BETWEEN INTERVAL '1' MINUTE PRECEDING AND CURRENT ROW );?
?
具體解析如下:
| 字段 | 解釋 |
| ? measurement_time, | 選擇測量時間 |
| ? city,? | 選擇城市 |
| ? temperature, | 選擇溫度 |
| ? AVG(CAST(temperature AS FLOAT)) ? ?OVER last_minute AS ? avg_temperature_minute, | 溫度平均值(最近一分鐘) |
| ? MAX(temperature) ? ? ? ? ? ? ? ? ? OVER last_minute AS ? min_temperature_minute, | 溫度最大值(最近一分鐘) |
| ? MIN(temperature) ? ? ? ? ? ? ? ? ? OVER last_minute AS ? max_temperature_minute, | 溫度最小值(最近一分鐘) |
| ? STDDEV(CAST(temperature AS FLOAT)) OVER last_minute AS stdev_temperature_minute | 最近一分鐘的標準差 |
?
總結:
①根據(jù)上面的這個解析,我們也就知道了Rolling Aggregation是啥意思呢?
也就是說要統(tǒng)計過去的一分鐘內(nèi),關于某個變量(temperature)的最新的統(tǒng)計值(AVG/MAX/MIN/STDDEV)
②SQL中哪里體現(xiàn)Rolling呢?
last_minute
不斷計算最近一分鐘(Rolling)的統(tǒng)計值(聚合操作),體現(xiàn)了Rolling
?
Reference:
[1]Rows Over Window與Range Over Window的區(qū)別
?
總結
以上是生活随笔為你收集整理的Flink SQL Client的Rolling Aggregation实验解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适合深夜发的心情说说230个
- 下一篇: 潜水俱乐部宣传文案29句