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.

Stream Analytics atlamalı pencere diyagramı

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.