Başvuru Verileri JOIN (Azure Stream Analytics)
Normal bir senaryoda, akış verilerini çok düşük gecikme süresiyle hesaplamak için bir olay işleme altyapısı kullanırız. Çoğu durumda, kullanıcıların sistem hakkında daha akıllı kararlar almak için kalıcı geçmiş verileri veya yavaş değişen bir veri kümesini (diğer adıyla başvuru verilerini) gerçek zamanlı olay akışıyla ilişkilendirmesi gerekir. Örneğin, olay akışımı IP Adreslerini konumlarla eşleyen statik bir veri kümesine birleştirin. Stream Analytics'te desteklenen ve zamana bağlı bir sınırın gerekli olmadığı tek JOIN budur. Başvuru verileri, cihaza özgü eşik değerlerine sahip olmak için de kullanılabilir.
Örnek
Bir ticari araç Ücretli Şirket'e kayıtlıysa, denetim için durdurulmadan ücretli standdan geçebilirler. Süresi dolan tüm ticari araçları belirlemek için ticari araç kayıt arama tablosu kullanacağız.
SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId
FROM Input1 I1 TIMESTAMP BY EntryTime
JOIN Registration R
ON I1.LicensePlate = R.LicensePlate
WHERE R.Expired = '1'
Başvuru Verisi JOIN'in Özellikleri
- Başvuru Verileri JOIN'i kullanmak için Başvuru Verileri için bir giriş kaynağının tanımlanması gerekir.
- Başvuru verileri JOIN, JOIN işlecinin sağ tarafında başvuru verileriyle birlikte iç JOIN (varsayılan) ve sol dış JOIN için desteklenir.
- Veri türleri, birleştirme koşulunun (
ON
yan tümcesi) değerlendirilmesinde önemli bir özelliktir. Farklı veri türlerindeki (1.0
ve"1"
) benzer değerler eşleşmeyebilir. Anahtarların açıkça ortak bir türe dönüştürülmesi önerilir. - Başvuru verileri statik (yalnızca bir kez yüklenir) veya dinamik (düzenli olarak yenilenir) olabilir. Ancak, dinamik durumda bile başvuru verileri zaman ilerlemesini sağlamaz, bu nedenle sol taraftaki akışın çıkış üretmek için yeni olaylar alması gerekir. Ayrıca daha fazla bilgi için bkz. Azure Stream Analytics'te zaman nasıl ilerler .
Performansla ilgili önemli noktalar
Performans düşüşlerini önlemek için başvuru birleştirme koşullarının (ON
yan tümcesi) basit anahtar eşitlikleri (ON s.myKey = r.myKey
) aracılığıyla tanımlanması gerekir. Karmaşık ifadelerin veya eşitsizliklerin kullanılması, içsel olarak çapraz birleşimlerin ardından filtrelerle (tam tarama ve arama) sonuçlanır ve bu da genel gecikme süresini önemli ölçüde etkileyebilir.
Mümkün olduğunda, bu karmaşık ifadeleri sorgu adımının WHERE
yan tümcesine taşıyın veya aynı Başvuru Verilerini daha basit koşullarla birden çok kez birleştirin.
Ayrıca Bkz.
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