Aracılığıyla paylaş


Öğretici: Yaygın işleçleri öğrenme

Şunlar için geçerlidir: ✅Microsoft Fabric

Kusto Sorgu Dili (KQL), Azure Veri Gezgini, Azure İzleyici Log Analytics, Azure Sentinel ve daha fazlasında sorgu yazmak için kullanılır. Bu öğretici, verilerinize erişmek ve bunları analiz etmek için kullanılan temel KQL işleçlerine giriş niteliğindedir.

Azure İzleyici'de günlükleri sorgulama hakkında daha ayrıntılı yönergeler için bkz . Günlük sorgularını kullanmaya başlama.

Not

Aradığınızı bulamadınız mı? Bu makale kısa süre önce aşağıdaki gibi bölünmüştür:

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

Bu öğreticideki örneklerde, yardımStormEvents genel kullanıma açık olan tablo kullanılır. Kendi verilerinizle keşfetmek için kendi ücretsiz kümenizi oluşturun.

Önkoşullar

Aşağıdaki sorguları çalıştırmak için örnek verilere erişimi olan bir sorgu ortamına ihtiyacınız vardır. Aşağıdakilerden birini kullanabilirsiniz:

Satırları say

Tablodaki storm kayıtlarının sayısını bulmak için count işlecini StormEvents kullanarak başlayın.

StormEvents 
| count

Çıktı

Sayı
59066

Veri örneğine bakın

Verileri algılamak için take işlecini kullanarak kayıtların bir örneğini görüntüleyin. Bu işleç tablodan belirtilen sayıda rastgele satır döndürür. Bu, genel veri yapısını ve içeriğini önizlemek için yararlı olabilir.

StormEvents 
| take 5

Aşağıdaki tabloda döndürülen 22 sütundan yalnızca beşi gösterilmektedir. Çıkışın tamamını görmek için sorguyu çalıştırın.

StartTime EndTime EpisodeId EventId State EventType ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Hortum ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12554 68796 MISSISSIPPI Gök Gürültülü Fırtına ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GEORGIA Gök Gürültülü Fırtına ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTIK GÜNEY Su damlası ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Şiddetli Yağmur ...

Sütunların alt kümesini seçme

Görünümü basitleştirmek ve sütunların belirli bir alt kümesini seçmek için proje işlecini kullanın. Kullanmak project genellikle tüm sütunları görüntülemekten daha verimlidir ve okunmasını kolaylaştırır.

StormEvents
| take 5
| project State, EventType, DamageProperty

Çıktı

State EventType DamageProperty
ATLANTIK GÜNEY Su damlası 0
FLORIDA Şiddetli Yağmur 0
FLORIDA Hortum 6200000
GEORGIA Gök Gürültülü Fırtına Kategori 2000
MISSISSIPPI Gök Gürültülü Fırtına 20000

Benzersiz değerleri listeleme

Önceki sorgunun sonuçlarına bağlı olarak birden çok tür fırtına olduğu görülüyor. Benzersiz fırtına türlerinin tümünü listelemek için distinct işlecini kullanın.

StormEvents 
| distinct EventType

Tabloda 46 tür fırtına vardır. Burada bunlardan 10'unun bir örneği verilmiştir.

EventType
Gök Gürültülü Fırtına
Dolu
Flash Flood
Kuraklık
Kış Hava Durumu
Kış Fırtınası
Yoğun Kar
Kuvvetli Rüzgar
Donma/Donma
Sel
...

Sonuçları sıralama

Texas'ta en çok hasara neden olan en çok zarar veren taşkınları görüntülemek için sıralama işlecini kullanarak satırları sütuna göre DamageProperty azalan düzende düzenleyin. Varsayılan sıralama düzeni azalan düzendedir. Artan düzende sıralamak için belirtin asc.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty

Çıktı

StartTime EndTime State EventType DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Sel 5.000.000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Sel 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Sel 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Sel 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Sel 750000
... ... ... ... ...

Koşula göre filtrele

Where işleci belirli ölçütlere göre veri satırlarını filtreler.

Aşağıdaki sorgu belirli bir State içindeki fırtına olaylarını EventTypearar.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty

Bu koşullara uyan 146 olay vardır. Burada 5 örnek verilmiştir.

StartTime EndTime State EventType DamageProperty
2007-01-13T08:45:00Z 2007-01-13T10:30:00Z TEXAS Sel 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Sel 0
2007-01-13T09:30:00Z 2007-01-13T21:00:00Z TEXAS Sel 0
2007-01-15T22:00:00Z 2007-01-16T22:00:00Z TEXAS Sel 20000
2007-03-12T02:30:00Z 2007-03-12T06:45:00Z TEXAS Sel 0
... ... ... ... ...

Tarih ve saat aralığına göre filtreleme

Verileri belirli bir zaman aralığına göre filtrelemek için işleç arasındaki kullanın.

Aşağıdaki sorgu, 1 Ağustos 2007 ile 30 Ağustos 2007 arasındaki tüm fırtına olaylarını ve bunların durumlarını, olay türlerini, başlangıç ve bitiş saatlerini bulur. Sonuçlar daha sonra başlangıç zamanına göre artan düzende sıralanır.

StormEvents
| where StartTime between (datetime(2007-08-01 00:00:00) .. datetime(2007-08-30 23:59:59))
| project State, EventType, StartTime, EndTime
| sort by StartTime asc 

Çıktı

State Eventype StartTime EndTime
GEORGIA Aşırı Isı 2007-08-01 00:00:00 2007-08-27 23:59:00
TENNESSEE Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
TENNESSEE Kuraklık 2007-08-01 00:00:00 2007-08-3123:59:00
GÜNEY CAROLINA Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
TENNESSEE Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
GEORGIA Aşırı Isı 2007-08-01 00:00:00 2007-08-27 23:59:00
TENNESSEE Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
MİNNESOTA Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
WİSCONSİN Kuraklık 2007-08-01 00:00:00 2007-08-31 23:59:00
GEORGIA Aşırı Isı 2007-08-01 00:00:00 2007-08-27 23:59:00
... ... ... ...

İlk n satırı alma

Üst işleç, belirtilen sütuna göre sıralanmış ilk n satırı döndürür.

Aşağıdaki sorgu, en çok zarar gören özelliğe neden olan beş Texas selini döndürür.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty

Çıktı

StartTime EndTime State EventType DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z TEXAS Sel 5.000.000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z TEXAS Sel 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z TEXAS Sel 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z TEXAS Sel 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z TEXAS Sel 750000

Not

İşleçlerin sırası önemlidir. Daha önce top buraya koyarsanız where farklı sonuçlar alırsınız. Bunun nedeni verilerin her işleç tarafından sırayla dönüştürülmesidir. Daha fazla bilgi edinmek için bkz . tablosal ifade deyimleri.

Hesaplanmış sütunlar oluşturma

Hem proje hem de genişletme işleçleri hesaplanmış sütunlar oluşturabilir.

Yalnızca görüntülemek istediğiniz sütunları belirtmek için kullanın project ve hesaplanan sütunu tablonun sonuna eklemek için kullanın extend .

Aşağıdaki sorgu, ve Durationarasındaki StartTime farka sahip bir hesaplanmış EndTime sütun oluşturur. Yalnızca birkaç seçme sütununu görüntülemek istediğimizden, project kullanmak bu durumda daha iyi bir seçimdir.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty

Çıktı

StartTime EndTime Süre DamageProperty
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z 1.01:30:00 5.000.000
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z 12:00:00 1200000
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z 05:00:00 1000000
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z 08:00:00 750000
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z 03:00:00 750000

Hesaplanan Duration sütuna bakarsanız en çok hasara neden olan selin aynı zamanda en uzun sel olduğunu fark edebilirsiniz.

Hesaplanan extend sütunu diğer tüm sütunlarla birlikte görüntülemek için kullanınDuration. Sütun Duration son sütun olarak eklenir.

StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime

Çıktı

StartTime EndTime ... Süre
2007-08-18T21:30:00Z 2007-08-19T23:00:00Z ... 1.01:30:00
2007-06-27T00:00:00Z 2007-06-27T12:00:00Z ... 12:00:00
2007-06-28T18:00:00Z 2007-06-28T23:00:00Z ... 05:00:00
2007-06-27T00:00:00Z 2007-06-27T08:00:00Z ... 08:00:00
2007-06-26T20:00:00Z 2007-06-26T23:00:00Z ... 03:00:00

Değerleri bir kümeden diğerine eşleme

Statik eşleme, sonuçlarınızın sunumunu değiştirmek için kullanışlı bir tekniktir. KQL'de statik eşleme gerçekleştirmenin bir yolu, değerleri bir kümeden diğerine eşlemek için dinamik sözlük ve erişimciler kullanmaktır.

let sourceMapping = dynamic(
  {
    "Emergency Manager" : "Public",
    "Utility Company" : "Private"
  });
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]

Çıktı

EventId Kaynak FriendlyName
68796 Acil Durum Yöneticisi Genel
... ... ...
72609 Yardımcı Program Şirketi Özel
... ... ...

Sonraki adım

Kusto sorguları yazmanın temellerini öğrendiğinize göre, bir sonraki öğreticiye gidin ve verileriniz hakkında daha derin içgörüler elde etmek için toplama işlevlerini kullanmayı öğrenin.