Atlama Penceresi (Azure Stream Analytics)
Atlayan pencerelerden farklı olarak atlamalı windows modeli çakışan pencerelerdir. Atlamalı pencere belirtimi üç parametreden oluşur: zaman birimi, windowsize (her pencerenin ne kadar sürdüğü) ve atlamalı ( her pencerenin öncekine göre ne kadar ileri doğru ilerlediği). Ayrıca, offsetsize isteğe bağlı bir dördüncü parametre olarak kullanılabilir. Atlayan pencerenin yalnızca 'atlama' değeri 'boyutuna' eşit olan bir atlamalı pencere olduğunu unutmayın.
Aşağıdaki çizimde bir dizi olay içeren bir akış gösterilmektedir. Her kutu bir atlama penceresini ve 'atlama' öğesinin 5 ve 'boyut' 10 olduğu varsayılarak bu pencerenin parçası olarak sayılan olayları temsil eder.
Syntax
{HOPPINGWINDOW | HOPPING} ( timeunit , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit , windowsize ) , Hop (timeunit , windowsize ), [Offset(timeunit , offsetsize)])
Not
Atlama Penceresi yukarıdaki iki şekilde kullanılabilir. Pencere ve atlama aynı zaman birimine sahipse, Bunu Süre ve Atlama işlevleri olmadan kullanabilirsiniz. Süre işlevi, pencere boyutunu belirtmek için diğer pencere türleriyle de kullanılabilir.
Bağımsız değişkenler
zaman birimi
Pencere veya atlama için zaman birimidir. Aşağıdaki tabloda tüm geçerli zaman birimi bağımsız değişkenleri listelemektedir.
Zaman Birimi | Kısaltma |
---|---|
gün | dd, d |
saat | hh |
dakika | mi, n |
saniye | ss, s |
milisaniye | Bayan |
Microsecond | Mcs |
Windowsize
Pencerenin boyutunu açıklayan büyük bir tamsayı. Windowsize statiktir ve çalışma zamanında dinamik olarak değiştirilemez.
Tüm durumlarda pencerenin boyutu en fazla 7 gündür.
atlama
Atlamanın boyutunu açıklayan büyük bir tamsayı.
offsetsize
Varsayılan olarak, atlamalı pencereler pencerenin sonunda kapsayıcıdır ve başlangıçta hariçtir ; örneğin 12:05 - 13:05 penceresi tam olarak 13:05'te gerçekleşen olayları içerir, ancak 12:05:05'te gerçekleşen olayları içermez (bu olay 12:00 - 01:00 pm penceresinin bir parçası olacaktır).
Offset parametresi, davranışı değiştirmek ve olayları pencerenin başına dahil etmek ve sonunda gerçekleşenleri hariç tutmak için kullanılabilir.
Örnekler
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))
Zaman konusunda dikkat edilmesi gerekenler
Her pencere işlemi, pencerenin sonundaki olayı döndürür (atlama pencereleri söz konusu olduğunda, bu her atlama boyutunda gerçekleşir). Azure Stream Analytics pencereleri pencere başlangıç saatinde açılır ve pencere bitiş saatinde kapatılır. Örneğin, saat 12:00 ile 12:05 arasında 5 dakikalık bir süreniz varsa, zaman damgası 12:00'den büyük ve 12:05'e kadar (dahil) zaman damgası olan tüm olaylar bu pencereye eklenir. Pencerenin çıkışı, pencere bitiş zamanına eşit bir zaman damgası ile kullanılan toplama işlevini temel alan tek bir olay olacaktır. Pencerenin çıkış olayının zaman damgası, diğer ad kullanılarak System.Timestamp() özelliği kullanılarak SELECT deyiminde yansıtılabilir.