Kayan Pencere

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

Kayan pencere kullanırken sistemden belirli bir uzunluktaki tüm olası pencereleri mantıksal olarak değerlendirmesi istenir. Bu tür pencerelerin sayısı sonsuz olacağından, Azure Stream Analytics bunun yerine yalnızca zaman içinde pencerenin içeriği gerçekten değiştiğinde( başka bir deyişle bir olay pencereye girdiğinde veya pencereden çıktığında) olaylar verir.

Aşağıdaki diyagramda bir dizi olay içeren bir akış ve bunların 10 saniyelik kayan pencerelere nasıl eşlendiği gösterilmektedir.

Stream Analytics 10 saniye kayan pencere

Sözdizimi

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Uyarı

Kayan Pencere yukarıdaki iki şekilde kullanılabilir. Atlama Penceresi ile tutarlılık sağlamak için Duration işlevi, pencere boyutunu belirtmek için tüm pencere türleriyle de kullanılabilir.

Tartışmalar

zaman birimi

Windowsize için zaman birimidir. Aşağıdaki tabloda tüm geçerli zaman birimi bağımsız değişkenleri listelemektedir.

Zaman Birimi Kısaltmalar
gün dd, d
saat Hh
dakika mi, n
saniye ss, s
milisaniye Ms
Microsecond Mcs

windowsize

Pencerenin boyutunu açıklayan büyük bir tamsayı. Windowsize statiktir ve çalışma zamanında dinamik olarak değiştirilemez.

Her durumda pencerenin en büyük boyutu 7 gündür.

Örnekler

Bu örnek, son 5 dakika içinde 3'ten fazla araca hizmet veren tüm ücretli standları bulur:

SELECT DateAdd(minute,-5,System.Timestamp()) AS WinStartTime, System.Timestamp() AS WinEndTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, SlidingWindow(minute, 5)
HAVING COUNT(*) > 3