Kusto Sorgu Dili'ne (KQL) genel bakış

Kusto Sorgu Dili (KQL), verilerinizi keşfetmeye ve desenleri bulmaya, anomalileri ve aykırı değerleri belirlemeye ve daha fazlasına olanak tanıyan güçlü bir araçtır. KQL yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış verileri sorgulamak için basit ama güçlü bir dildir. Dil açıklayıcıdır, sorgu amacını okuması ve anlaması kolaydır ve yazma deneyimleri için iyileştirilmiştir. Kusto Sorgu Dili, metin arama ve ayrıştırma, zaman serisi işleçleri ve işlevleri, analiz ve toplama, jeo-uzamsal, vektör benzerliği aramaları ve veri analizi için en uygun dili sağlayan diğer birçok dil yapısı için ayrıntılı destekle telemetriyi, ölçümleri ve günlükleri sorgulamak için idealdir. Sorgu, SQL'lere benzer bir hiyerarşide düzenlenmiş şema varlıklarını kullanır: veritabanları, tablolar ve sütunlar.

Bu makalede sorgu dilinin açıklaması sağlanır ve sorgu yazmaya başlamanız için pratik alıştırmalar sunulmaktadır. Sorgu ortamına erişmek için Azure Veri Gezgini web kullanıcı arabirimini kullanın. KQL kullanmayı öğrenmek için bkz . Öğretici: Yaygın işleçleri öğrenme.

Kusto sorgusu nedir?

Kusto sorgusu, veri işlemeye ve sonuç döndürmeye yönelik salt okunur bir istektir. İstek, okuması, yazması ve otomatikleştirmesi kolay bir veri akışı modeli kullanılarak düz metin olarak belirtilir. Kusto sorguları bir veya daha fazla sorgu deyiminden oluşur.

Sorgu deyimi nedir?

Üç tür kullanıcı sorgusu deyimi vardır:

Tüm sorgu deyimleri noktalı ; virgülle ayrılır ve yalnızca eldeki sorguyu etkiler.

Not

Uygulama sorgu deyimleri hakkında bilgi için bkz. Uygulama sorgu deyimleri.

En yaygın sorgu deyimi türü tablosal ifade deyimidir. Bu, hem giriş hem de çıkışının tablolardan veya tablosal veri kümelerinden oluştuğu anlamına gelir. Tablosal deyimler, her biri tablosal girişle başlayan ve tablosal bir çıkış döndüren sıfır veya daha fazla işleç içerir. İşleçler bir | (kanal) tarafından sıralanmıştır. Veri, bir işleçten diğerine akar veya kanal oluşturulur. Veriler her adımda filtrelenmiş veya işlenmiştir ve ardından aşağıdaki adıma beslenir.

Tam bir veri tablosuyla başladığınız bir huni gibidir. Veriler başka bir işleçten her geçtiğinde filtrelenmiş, yeniden düzenlenmiş veya özetlenmiştir. Bir işleçten diğerine bilgi akışı sıralı olduğundan, sorgu işleci sırası önemlidir ve hem sonuçları hem de performansı etkileyebilir. Huninin sonunda, rafine edilmiş bir çıkış elde edersiniz.

Şimdi örnek bir sorguya bakalım.

StormEvents 
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"  
| count 
Count
28

Not

KQL, tablo adları, tablo sütunu adları, işleçler, işlevler vb. her şey için büyük/küçük harfe duyarlıdır.

Bu sorgu tek bir tablosal ifade deyimine sahiptir. deyimi StormEvents adlı tabloya başvuruyla başlar ve her biri bir kanalla ayrılmış birkaç işleç where ve countiçerir. Kaynak tablonun veri satırları StartTime sütununun değerine göre filtrelenir ve ardından State sütununun değerine göre filtrelenir. Son satırda sorgu, tek sütunlu bir tablo ve kalan satırların sayısını içeren tek bir satır döndürür.

Daha fazla Kusto sorgusu denemek için bkz . Öğretici: Kusto sorguları yazma.

Yönetim komutları

Kusto sorgularının aksine , Yönetim komutları Kusto'ya veri veya meta verileri işleme veya değiştirme istekleridir. Örneğin, aşağıdaki yönetim komutu iki sütunlu Level yeni bir Kusto tablosu oluşturur ve Text:

.create table Logs (Level:string, Text:string)

Yönetim komutlarının kendi söz dizimi vardır ve bu, Kusto Sorgu Dili söz diziminin bir parçası değildir, ancak ikisi birçok kavramı paylaşır. Özellikle, yönetim komutları komut metnindeki ilk karakterin nokta () karakteri (.sorgu başlatılamaz) olmasıyla sorgulardan ayırt edilir. Bu ayrım, sorguların içine yönetim komutları eklemeyi engellediği için birçok tür güvenlik saldırısını önler.

Tüm yönetim komutları verileri veya meta verileri değiştirmez. .show ile başlayan büyük komut sınıfı, meta verileri veya verileri görüntülemek için kullanılır. Örneğin .show tables komutu geçerli veritabanındaki tüm tabloların listesini döndürür.

Yönetim komutları hakkında daha fazla bilgi için bkz. Yönetim komutlarına genel bakış.

Diğer hizmetlerde KQL

KQL, diğer birçok Microsoft hizmeti tarafından kullanılır. Bu ortamlarda KQL kullanımı hakkında belirli bilgiler için aşağıdaki bağlantılara bakın: