Aracılığıyla paylaş


Azure Stream Analytics ve Olay Akışı Sorgu Dili Başvurusu

Azure Stream Analytics, olay akışları üzerinde dönüştürmeler ve hesaplamalar gerçekleştirmek için bir SQL sorgu dili sunar.

T-SQL söz diziminin alt kümesi

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

Geçiş ücreti istasyonu yaygın bir olgudur; bunlarla dünyanın her yanındaki birçok expressway, köprü ve tünelde karşılaşırız. Her ücretli istasyonun birden çok ücretli kabini vardır ve bu da bir santrale ücretli ödeme yapmak için durabileceğiniz anlamına gelir veya otomatiktir; kabinin üstüne yerleştirilen bir sensör, ü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ış Zamanı ve Uygulama Saati Karşılaştırması

Azure Stream Analytics gibi herhangi bir zamansal 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ış zamanı 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 çözümlemek için uygun olan zaman noktasıdır. Kullanıcı bir uygulama zamanı kullanmak isterse, BUNU TIMESTAMP BY anahtar sözcüğünü kullanarak 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ığına 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" zamanı yerine "ödeme başarılı" olmalıdır.

ZAMAN DAMGASI İLE

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, Windowing, Joins vb. gibi zamansal hesaplamaları gerçekleştirmek üzere gelen her olayı zaman damgası olarak belirlemek için kullanılacak sütunu yükte belirtebilir. 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) olarak 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.

Ayrıca Bkz.