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 ✅ Fabric Olay Akışı
Uyarı
Fabric Eventstream, Azure Stream Analytics ile aynı çalışma zamanı üzerinde oluşturulur. Bu nedenle, bu makalede açıklanan kavramlar hem Azure Stream Analytics hem de Doku Olay Akışı için geçerlidir.
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.
Burada 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, giriş Azure Event Hubs olduğunda 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. Bkz. Azure Stream Analytics'te farklı pencere türlerini açıklayan pencereleme makaleleri.
İÇ BIRLEŞIM
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ı tarafından zaman damgasını alır (yukarıdaki INNER JOIN ile olduğu gibi).
Uyumsuzlukları 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, örnekte input1'in zaman damgası + 10 dakikadır.