Jendela Tumbling (Azure Stream Analytics)
Jendela tumbling adalah serangkaian interval waktu tetap, tidak tumpang tindih, dan berdampingan. Diagram berikut mengilustrasikan aliran dengan serangkaian peristiwa dan bagaimana mereka dipetakan ke dalam jendela tumbling 10 detik.
Sintaks
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Catatan
Jendela Tumbling dapat digunakan dengan dua cara di atas. Untuk memungkinkan konsistensi dengan Jendela Hopping, fungsi Durasi juga dapat digunakan dengan semua jenis jendela untuk menentukan ukuran jendela. Durasi jendela harus berupa konstanta float positif.
Argumen
timeunit
Adalah satuan waktu untuk windowsize. Tabel berikut ini mencantumkan semua argumen timeunit yang valid.
Timeunit | Singkatan |
---|---|
hari | dd, d |
hour | hh |
menit | mi, n |
second | ss, s |
milidetik | ms |
mikrodetik | Mcs |
windowsize
Bilangan bulat besar yang menggambarkan ukuran jendela. Windowsize bersifat statis dan tidak dapat diubah secara dinamis saat runtime.
Ukuran maksimum jendela adalah 7 hari.
offsetsize
Secara default, jendela tumbling inklusif di akhir jendela dan eksklusif di awal - misalnya 12:00 – 13:00 jendela akan mencakup peristiwa yang terjadi tepat pada pukul 13:00, tetapi tidak akan mencakup peristiwa yang terjadi pada pukul 12:00 (peristiwa ini akan menjadi bagian dari jendela pukul 11:00 – 12:00).
Parameter Offset dapat digunakan untuk mengubah perilaku ini dan menyertakan peristiwa di awal jendela dan mengecualikan yang terjadi pada akhirnya.
Contoh
SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
alert
FROM
temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25
Pertimbangan waktu
Setiap operasi jendela menghasilkan peristiwa di akhir jendela. Jendela Azure Stream Analytics dibuka pada waktu mulai jendela dan ditutup pada waktu akhir jendela. Misalnya, jika Anda memiliki jendela 5 menit dari pukul 12:00 hingga 12:05, semua peristiwa dengan tanda waktu lebih besar dari pukul 12:00 dan hingga tanda waktu 12:05 termasuk dalam jendela ini. Output jendela akan menjadi satu peristiwa berdasarkan fungsi agregat yang digunakan dengan tanda waktu yang sama dengan waktu akhir jendela. Tanda waktu peristiwa output jendela dapat diproyeksikan dalam pernyataan SELECT menggunakan properti System.Timestamp() menggunakan alias.