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.