Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Zaman akışı senaryolarında yaygın bir desen, zamansal pencerelerde bulunan veriler üzerinde işlemler gerçekleştirmektir. Stream Analytics, pencere işlevleri için yerel desteğe sahiptir, bu nedenle en az çabayla karmaşık akış işleme işleri oluşturabilirsiniz.
Beş çeşit zamansal pencere vardır:
Stream Analytics işlerinizde sorgu söz diziminin GROUP BY yan tümcesindeki pencere işlevlerini kullanın. Ayrıca , Windows() işlevini kullanarak birden çok pencere üzerinde olayları toplayabilirsiniz.
Tüm pencereleme işlemleri, pencerenin sonunda sonuç verir. Bir akış analizi işi başlattığınızda, İşin çıkış başlangıç zamanını belirtebilirsiniz. Sistem, ilk pencereyi belirtilen zamanda çıkarmak için gelen akışlardaki önceki olayları otomatik olarak alır. Örneğin, Şimdi seçeneğiyle başladığınızda veriler hemen yaymaya başlar. Pencerenin çıkışı, kullanılan toplama işlevini temel alan tek bir olaydır. Çıkış olayı, pencerenin sonunun zaman damgasına sahiptir ve tüm pencere işlevleri sabit uzunlukta tanımlanır.
Atlayan pencere
Bir veri akışını ayrı zaman dilimlerine ayırmak ve bunlara karşı bir işlev gerçekleştirmek için Atlayan pencere işlevlerini kullanın.
Kayan pencerenin anahtar farkları şunlardır:
- Tekrarlamaz.
- Üst üste binmezler.
- Bir olay birden fazla yuvarlanan pencereye ait olamaz.
Örnek için giriş verileri şunlardır:
| Damga | OluşturulmaTarihi | TimeZone |
|---|---|---|
| 1 | 2021-10-26T10:15:01 | PST |
| 5 | 2021-10-26T10:15:03 | PST |
| 4 | 2021-10-26T10:15:06 | PST |
| ... | ... | ... |
Örnek sorgu şu şekildedir:
SELECT System.Timestamp() as WindowEndTime, TimeZone, COUNT(*) AS Count
FROM TwitterStream TIMESTAMP BY CreatedAt
GROUP BY TimeZone, TumblingWindow(second,10)
Örnek çıktı şu şekildedir:
| PencereBitişZamanı | TimeZone | Sayı |
|---|---|---|
| 2021-10-26T10:15:10 | PST | 5 |
| 2021-10-26T10:15:20 | PST | 2 |
| 2021-10-26T10:15:30 | PST | 4 |
Atlama penceresi
Atlamalı pencere işlevleri, belirli bir süre boyunca ileri doğru atlar. Bunları, çakışan ve pencere boyutundan daha sık tetiklenebilen yuvarlanır pencereler olarak düşünmek kolay olabilir. Olaylar birden fazla atlamalı pencere sonuç kümesine ait olabilir. Yuvarlanan pencereyi atlayan pencereyle aynı yapmak için, atlama boyutunu pencere boyutuyla aynı olacak şekilde ayarlayın.
Örnek veriler şunlardır:
| Damga | OluşturulmaTarihi | Konu |
|---|---|---|
| 1 | 2021-10-26T10:15:01 | Yayın |
| 5 | 2021-10-26T10:15:03 | Yayın |
| 4 | 2021-10-26T10:15:06 | Yayın |
| ... | ... | ... |
Örnek sorgu şu şekildedir:
SELECT System.Timestamp() as WindowEndTime, Topic, COUNT(*) AS Count
FROM TwitterStream TIMESTAMP BY CreatedAt
GROUP BY Topic, HoppingWindow(second,10,5)
Örnek çıktı şu şekildedir:
| PencereBitişZamanı | Konu | Sayı |
|---|---|---|
| 2021-10-26T10:15:10 | Yayın | 5 |
| 2021-10-26T10:15:15 | Yayın | 3 |
| 2021-10-26T10:15:20 | Yayın | 2 |
| 2021-10-26T10:15:25 | Yayın | 4 |
| 2021-10-26T10:15:30 | Yayın | 4 |
Kayan pencere
Kayan pencereler, yuvarlanan veya atlamalı pencerelerden farklı olarak, yalnızca zaman içindeki noktalarda, pencerenin içeriği gerçekten değiştiğinde olayları çıkış olarak görüntüler. Başka bir deyişle, bir olay pencereye girdiğinde veya pencereden çıktığında. Bu nedenle, her pencerede en az bir olay vardır. Atlama pencerelerine benzer şekilde, olaylar birden fazla kayan pencereye ait olabilir.
Örnek giriş verileri şunlardır:
| Damga | OluşturulmaTarihi | Konu |
|---|---|---|
| 1 | 2021-10-26T10:15:10 | Yayın |
| 5 | 2021-10-26T10:15:12 | Yayın |
| 9 | 2021-10-26T10:15:15 | Yayın |
| 7 | 2021-10-26T10:15:15 | Yayın |
| 8 | 2021-10-26T10:15:27 | Yayın |
Örnek sorgu şu şekildedir:
SELECT System.Timestamp() as WindowEndTime, Topic, COUNT(*) AS Count
FROM TwitterStream TIMESTAMP BY CreatedAt
GROUP BY Topic, SlidingWindow(second,10)
HAVING COUNT(*) >=3
Çıktı:
| PencereBitişZamanı | Konu | Sayı |
|---|---|---|
| 2021-10-26T10:15:15 | Yayın | 4 |
| 2021-10-26T10:15:20 | Yayın | 3 |
Oturum penceresi
Oturum penceresi işlevleri benzer zamanlarda gelen olayları gruplandırır. Veri olmayan zaman aralıklarını filtreler. Oturum penceresi işlevinin üç ana parametresi vardır:
- Zaman Aşımı
- Maksimum süre
- Bölümleme anahtarı (isteğe bağlı).
Oturum penceresi ilk olay gerçekleştiğinde başlar. Son alınan olaydan belirtilen zaman aşımı içinde başka bir olay oluşursa, pencere yeni olayı içerecek şekilde genişletilir. Aksi takdirde, zaman aşımı içinde hiçbir olay gerçekleşmezse, zaman aşımı sırasında pencere kapanır.
Olaylar belirtilen zaman aşımı içinde gerçekleşmeye devam ederse, oturum penceresi en uzun süreye ulaşılana kadar uzatılır. Maksimum süre denetim aralıkları, belirtilen maksimum süreyle aynı boyuttadır. Örneğin, en uzun süre 10 olduğunda, pencerenin maksimum süreyi aşıp aşmadığını kontrol etme işlemleri t = 0, 10, 20, 30 gibi zaman noktalarında gerçekleşir.
Bölüm anahtarı sağladığınızda işlev olayları anahtara göre gruplandırıp oturum penceresini her gruba bağımsız olarak uygular. Bu bölümleme, farklı kullanıcılar veya cihazlar için farklı oturum pencerelerine ihtiyaç duyduğunuz durumlarda kullanışlıdır.
Örnek giriş verileri şunlardır:
| Damga | OluşturulmaTarihi | Konu |
|---|---|---|
| 1 | 2021-10-26T10:15:01 | Yayın |
| 2 | 2021-10-26T10:15:04 | Yayın |
| 3 | 2021-10-26T10:15:13 | Yayın |
| ... | ... | ... |
Örnek sorgu şu şekildedir:
SELECT System.Timestamp() as WindowEndTime, Topic, COUNT(*) AS Count
FROM TwitterStream TIMESTAMP BY CreatedAt
GROUP BY Topic, SessionWindow(second,5,10)
Çıktı:
| PencereBitişZamanı | Konu | Sayı |
|---|---|---|
| 2021-10-26T10:15:09 | Yayın | 2 |
| 2021-10-26T10:15:24 | Yayın | 4 |
| 2021-10-26T10:15:31 | Yayın | 2 |
| 2021-10-26T10:15:39 | Yayın | 1 |
Anlık görüntü penceresi
Aynı zaman damgasına sahip olayları bir araya getiren anlık görüntü pencereleri. Belirli bir pencere işlevi gerektiren diğer pencereleme türlerinden farklı olarak (SessionWindow() gibi), yan tümcesine System.Timestamp() ekleyerek GROUP BY anlık görüntü penceresi uygulayabilirsiniz.
Örnek giriş verileri şunlardır:
| Damga | OluşturulmaTarihi | Konu |
|---|---|---|
| 1 | 2021-10-26T10:15:04 | Yayın |
| 2 | 2021-10-26T10:15:04 | Yayın |
| 3 | 2021-10-26T10:15:04 | Yayın |
| ... | ... | ... |
Örnek sorgu şu şekildedir:
SELECT System.Timestamp() as WindowEndTime, Topic, COUNT(*) AS Count
FROM TwitterStream TIMESTAMP BY CreatedAt
GROUP BY Topic, System.Timestamp()
Örnek çıktı şu şekildedir:
| PencereBitişZamanı | Konu | Sayı |
|---|---|---|
| 2021-10-26T10:15:04 | Yayın | 4 |
| 2021-10-26T10:15:10 | Yayın | 2 |
| 2021-10-26T10:15:13 | Yayın | 1 |
| 2021-10-26T10:15:22 | Yayın | 2 |
Sonraki Adımlar
Aşağıdaki makalelere bakın: