Jendela Lompat (Azure Stream Analytics)

Tidak seperti jendela jatuh, jendela lompat model terjadwal jendela yang tumpang tindih. Spesifikasi jendela hopping terdiri dari tiga parameter: timeunit, windowsize (berapa lama setiap jendela berlangsung) dan hopsize (dengan berapa banyak setiap jendela bergerak maju relatif terhadap yang sebelumnya). Selain itu, offsetsize dapat digunakan sebagai parameter keempat opsional. Perhatikan bahwa jendela tumbling hanyalah jendela lompat yang 'hop'-nya sama dengan 'ukuran'.

Ilustrasi berikut menunjukkan streaming dengan serangkaian peristiwa. Setiap kotak mewakili jendela lompat dan peristiwa yang dihitung sebagai bagian dari jendela tersebut, dengan asumsi bahwa 'hop' adalah 5, dan 'ukuran' adalah 10.

Diagram jendela lompat Azure Stream Analytics diagram

Sintaks

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Catatan

Jendela Hopping dapat digunakan dengan dua cara di atas. Jika jendela dan hopsize memiliki timeunit yang sama, Anda dapat menggunakannya tanpa fungsi Durasi dan Hop. Fungsi Durasi juga dapat digunakan dengan jenis jendela lain untuk menentukan ukuran jendela.

Argumen

timeunit

Adalah unit waktu untuk jendela atauhopsize. Tabel berikut 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 dalam semua kasus adalah 7 hari.

hopsize

Bilangan bulat besar yang menggambarkan ukuran Hop.

offsetsize

Secara default, jendela lompat inklusif di akhir jendela dan eksklusif di awal - misalnya jendela 12:05 – 13:05 akan mencakup peristiwa yang terjadi tepat pada pukul 13:05, tetapi tidak akan mencakup peristiwa yang terjadi pada pukul 12:05:05 (peristiwa ini akan menjadi bagian dari jendela 12:00 – 13:00).
Parameter Offset dapat digunakan untuk mengubah perilaku 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, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Pertimbangan waktu

Setiap operasi jendela menghasilkan peristiwa di akhir jendela (dalam kasus jendela lompat, ini terjadi pada setiap ukuran hop). 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 00: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.