System.Timestamp() (Stream Analytics)
Azure Stream Analytics'te sorgunun her aşamasındaki her olayla 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 damgası atadığı açıklanmaktadır.
Giriş olayları zaman damgası
Giriş olayının zaman damgası TIMESTAMP BY yan tümcesinde belirtilen sütun değeriyle (veya bir ifadeyle) 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ış saati 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.
Projeksiyon
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.
Filtrele
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
Toplama 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 (Azure Stream Analytics) 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.
Input1'den e1 ve input2'den e2 olay e1 eşleşmesini temsil eden olay, e1 ve e2'nin en son zaman damgaları tarafından zaman damgasına eklenir.
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çlar ü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.
Eşleşmeyi temsil eden olaylar (hem giriş1 hem de giriş2'ye sahiptir) eşleşen girişlerin en son zaman damgaları tarafından zaman damgalanı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 zaman damgasına sahiptir. Örneğin yukarıdaki örnekte input1'in zaman damgası + 10 dakikadır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin