Akış Analizi Sorgu Dili Başvurusu
Azure Stream Analytics, olay akışları üzerinde dönüşümler ve hesaplamalar gerçekleştirmek için bir SQL sorgu dili sunar.
T-SQL söz diziminin bir alt kümesi olan Stream Analytics Sorgu Dili
Bu belgede Stream Analytics sorgu dili için söz dizimi, kullanım ve en iyi yöntemler açıklanmaktadır. Bu belgede kullanılan tüm örnekler, aşağıda açıklandığı gibi ücretli bir stand senaryosuna dayanır.
Stream Analytics sorgu dili, Akış hesaplamaları yapmaya yönelik standart T-SQL söz diziminin bir alt kümesidir.
Ücretli stand senaryosu
Ücretli istasyon yaygın bir fenomendir; bunlarla dünya genelinde birçok expressway, köprü ve tünelde karşılaşırız. Her ücretli istasyonun birden çok ücretli kabini vardır. Bu da el ile yapılabilmesine rağmen bir santrale ücretli ödeme yapmayı durdurabileceğiniz anlamına gelir veya otomatiktir. Burada kabinin üstüne yerleştirilen bir algılayıcı, ücretli kabinden geçerken aracınızın ön camına yapıştırılmış bir RFID kartını tarar. Araçların bu ücretli istasyonlardan geçişini ilginç işlemlerin yapılabileceği bir etkinlik akışı olarak görselleştirmek kolaydır.
Varış Saati ile Uygulama Zamanı Karşılaştırması
Azure Stream Analytics gibi herhangi bir zamana bağlı sistemde zamanın ilerleme durumunu anlamak önemlidir. Sistem üzerinden akan her olay, System.Timestamp() aracılığıyla erişilebilen bir zaman damgasıyla birlikte gelir. Başka bir deyişle sistemimizdeki her olay bir zaman noktasını gösterir. Bu zaman damgası, kullanıcının sorguda belirtebileceği bir uygulama zamanı olabilir veya sistem varış zamanına göre atayabilir. Giriş kaynaklarına göre varış saati farklı anlamlara sahiptir. Azure Olay Hub'ından gelen olaylar için varış zamanı, olay hub'ı tarafından verilen zaman damgasıdır; Blob depolama için blob'un son değiştirme zamanıdır. Zaman damgası, verileri yakalamak veya analiz etmek için uygun olan zaman noktasıdır. Kullanıcı bir uygulama zamanı kullanmak istiyorsa, TIMESTAMP BY anahtar sözcüğünü kullanarak bunu yapabilir. Yukarıdaki senaryoda, aracın ücretli standa girişidir. Gelen veri akışındaki "zaman damgasını" tanımlamak kritik önem taşır. Yakalanan sürenin bir olayın oluşumunu da onayladığının doğrulandığından emin olunmalıdır. Örneğin, biri nakit sayaçlarını izliyorsa ve faturalanan müşteri sayısını saymak istiyorsa, ideal olarak olay zaman damgası "fatura oluşturuldu" saati yerine "ödeme başarılı" olmalıdır.
TIMESTAMP BY
Azure Stream Analytics'te tüm olayların iyi tanımlanmış bir zaman damgası vardır. Kullanıcı uygulama zamanını kullanmak isterse, Zaman Damgası BY anahtar sözcüğünü kullanarak yükteki sütunu belirterek Windowing, Joins gibi herhangi bir zamansal hesaplama gerçekleştirmek üzere gelen her olayı zaman damgası olarak kullanabilir. En iyi uygulama olarak varış zamanında TIMESTAMP BY kullanmanızı öneririz. TIMESTAMP BY datetime türünde herhangi bir sütunda kullanılabilir ve tüm ISO 8601 biçimleri desteklenir. System.Timestamp() yalnızca Select içinde kullanılabilir.
Aşağıda, olaylar için uygulama zamanı olarak EntryTime sütununu kullanan bir TIMESTAMP BY örneği verilmiştir:
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag
FROM TollTagEntry TIMESTAMP BY EntryTime
Alan Adı Büyük/Küçük Harf Duyarlılığı
Uyumluluk düzeyi 1.0 kullanılarak oluşturulan bir işin alan adları, Azure Stream Analytics altyapısı tarafından işlendiğinde küçük harfe (büyük/küçük harfe duyarsız) değiştirilir. Büyük/küçük harfe duyarlı şemayı destekleyen giriş biçimleri için, örneğin JSON için, alan adları büyük/küçük harf duyarsız bir şekilde karşılaştırıldığında yinelenen alanları olan olaylar oluşturabilirsiniz. Bu tür olaylar geçersiz olaylar olarak kabul edilir ve işleme sırasında bırakılır.
Stream Analytics işi uyumluluk düzeyi 1.1 veya üzeri kullanılarak oluşturulduğunda alan adları için büyük/küçük harf duyarlılığı kalıcı hale getirildi. Daha fazla bilgi için uyumluluk düzeyini yapılandırma konusuna bakın.
Bu bölümde
Stream Analytics sorgu dilini kullanma yönergeleri için aşağıdaki konulara bakın.