Aracılığıyla paylaş


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

Şunlar için geçerlidir: ✅Microsoft FabricAzure Veri GezginiAzure İzleyiciMicrosoft Sentinel

Kusto Sorgu Dili (KQL), verilerinizi keşfetmeye ve desenleri keşfetmeye, anomalileri ve aykırı değerleri tanımlamaya, istatistiksel modelleme oluşturmaya ve daha fazlasına yönelik 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 derin destek sunan telemetri, ölçüm 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ıza yönelik pratik alıştırmalar sunulmaktadır. Sorgu ortamına erişmek için Azure Veri Gezgini web kullanıcı arabiriminikullanın. KQL'yi kullanmayı öğrenmek için bkz. Öğretici:yaygın işleçleri öğrenme.

Bu makalede sorgu dilinin açıklaması sağlanır ve sorgu yazmaya başlamanıza yönelik pratik alıştırmalar sunulmaktadır. Sorgu ortamına erişmek için KQL sorgu kümesikullanın. KQL'yi kullanmayı öğrenmek için bkz. Öğretici:yaygın işleçleri öğrenme.

Kusto sorgusu nedir?

Kusto sorgusu, verileri işlemek ve sonuçları döndürmek için salt okunur bir istektir. İstek, okunması, yazılıp otomatikleştirilmesi 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ı sorgu deyimi vardır:

Tüm sorgu deyimleri bir ; (noktalı virgül) ile 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ü,bir tablosal ifadedir. Bu, hem giriş hem de çıkışının tablolardan veya tablosal veri kümelerinden oluştuğu anlamına gelir. Tablolu deyimler,sıfır veya daha fazla işleç içerir. Bunların her biri tablosal girişle başlar ve tablosal çıkış döndürür. İşleçler bir | (boru) tarafından sıralanmıştır. Bir işleçten diğerine veri akışları veya kanal oluşturulur. Veriler her adımda filtrelenmiş veya değiştirilmiş ve ardından aşağıdaki adıma beslenmiştir.

Veri tablosunun tamamıyla başladığınız 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 bir çıkışla kalırsınız.

Şimdi örnek bir sorguya bakalım.

Sorgu çalıştırma

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

Not

KQL, tablo adları, tablo sütun adları, işleçler, işlevler vb. her şey için büyük/küçük harfe duyarlıdır.
Anahtar sözcükler, köşeli ayraç ve tırnak içine alınarak tanımlayıcı olarak kullanılabilir ([' ve '] ya da [" ve "]). Örneğin, ['where']. Daha fazla bilgi için bkz. Tanımlayıcı adlandırma kuralları

Bu sorgu tek bir tablosal ifade deyimine sahip. deyimi, StormEvents adlı bir tabloya başvuruyla başlar ve where ve countolmak üzere her birini bir boruyla ayırarak birkaç işleç iç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 Level ve Textolmak üzere iki sütunlu yeni bir Kusto tablosu oluşturur:

.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ının eklenmesini 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. meta verileri veya verileri görüntülemek için .showile başlayan büyük komut sınıfı 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: