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.
✅ Azure Stream Analytics
Azure Stream Analytics'te sorgunun her aşamasındaki her olayın kendisiyle ilişkilendirilmiş bir zaman damgası vardır. System.Timestamp(), olayın zaman damgasını almak için kullanılabilecek bir sistem özelliğidir.
Aşağıda Azure Stream Analytics'in olaylara nasıl zaman damgaları atadığı açıklanmaktadır.
Giriş olayları zaman damgası
Giriş olayının zaman damgası TIMESTAMP BY yan tümcesinde belirtilen sütun değeri (veya ifade) ile tanımlanabilir:
SELECT System.Timestamp() t
FROM input
TIMESTAMP BY MyTimeField
Belirli bir giriş için TIMESTAMP BY yan tümcesi belirtilmezse, olayın varış zamanı zaman damgası olarak kullanılır. Örneğin Olay Hub'ı girişi durumunda olayın sıralanan zamanı kullanılır.
Sonuçta ortaya çıkan olay zaman damgası
Hesaplamalar gerçekleştirildiğinde, sonuçta elde edilen olayın zaman damgası, bu sonucun belirlenebileceği en erken mantıksal zamandır.
Şimdi Azure Stream Analytics'teki temel sorgu işlemlerinin (filtreler, projeksiyonlar, toplamalar ve birleştirmeler) sonucun zaman damgalarını nasıl oluşturduğuna bakalım.
Projection
SELECT
Prop1,
Prop2,
Prop3 - Prop4 / 12,
System.Timestamp() t
FROM input
Projeksiyonlar olayın zaman damgasını değiştirmez, sonucun zaman damgası girişin zaman damgasıyla aynıdır.
Filter
SELECT *
FROM input
WHERE prop1 > prop2
Filtreler olayın zaman damgasını değiştirmez. Sonucun zaman damgası, girişin zaman damgasıyla aynıdır.
Zaman içinde GROUP BY penceresi
SELECT
userId,
AVG(prop1),
SUM(prop2),
System.Timestamp() t
FROM input
GROUP BY TumblingWindow(minute, 1), userId
Toplam sonucunun zaman damgası, bu sonucun karşılık gelen zaman penceresinin sonudur. Lütfen Azure Stream Analytics'teki farklı pencere türlerini açıklayan Pencereleme makalelerine bakın.
INNER JOIN
SELECT
System.Timestamp()
FROM input1
JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN 0 AND 10
İç birleşim, input1 ve input2'den eşleşen olay çiftlerine karşılık gelen sonuçlar üretir.
Girdi1 ve giriş2'den e2'den gelen e1 olayının eşleşmesini temsil eden olay, e1 ve e2'nin en son zaman damgalarıyla zaman damgasını alır.
SOL DıŞ BIRLEŞIM
SELECT
System.Timestamp()
FROM input1
LEFT JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN -2 AND 10
Sol dış birleşim iki tür sonuç üretir. Bazıları input1 ve input2'den eşleşen bir olay çiftine karşılık gelir; diğerleri yalnızca input1'den bir olaya karşılık gelir ve input2'den eşleşen bir olay bulunamadığını belirtir.
Bir eşleşmeyi temsil eden olaylar (hem giriş1 hem de giriş2 içerir) eşleşen girişlerin en son zaman damgalarıyla zaman damgasını alır (yukarıdaki INNER JOIN örneğinde olduğu gibi).
Eşleşme olmayanları temsil eden olaylar (giriş2 NULL) eşleşen bir input2 olayının oluşabileceği en son mantıksal zamana göre zaman damgasını alır. Örneğin yukarıdaki örnekte input1'in zaman damgası + 10 dakikadır.