Kusto Sorgu Dili'ne (KQL) genel bakış
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini✅Azure İzleyici✅Microsoft 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ı
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.
En yaygın sorgu deyimi türü,|
(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 count
olmak ü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 Text
olmak ü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 .show
ile 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:
- Azure İzleyici'de günlük sorgularını
- Microsoft Sentinel'da Kusto Sorgu Dilini
- Azure Kaynak Grafı sorgu dilini anlama
- Microsoft 365 Defender'da gelişmiş avcılık ile tehditleri proaktif olarak avla
- CMPivot sorgularını
İlgili içerik
- Öğreticisi: Yaygın işleçleri öğrenme
- Öğreticisi: Toplama işlevlerini kullanma
- KQL hızlı başvuru
- SQL'den Kusto Sorgu Diline bilgi sayfası
- Sorgu en iyi yöntemleri