Öğretici: Yaygın işleçleri öğrenme
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 operatörlerine giriş niteliğindedir.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
Bu öğreticideki örneklerde, yardım kümesinde herkese açık olan tablo kullanılırStormEvents
. Kendi verilerinizle keşfetmek için kendi ücretsiz kümenizi oluşturun.
Ön koşullar
- Yardım kümesinde oturum açmak için bir Microsoft hesabı veya Azure Active Directory kullanıcı kimliği
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
Çıkış
Count |
---|
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 ve bu da genel veri yapısının ve içeriğinin önizlemesi için yararlı olabilir.
StormEvents
| take 5
Aşağıdaki tabloda döndürülen 22 sütundan yalnızca 6'sı gösterilmektedir. Çıkışın tamamını görmek için sorguyu çalıştırın.
StartTime | EndTime | Bölüm Kimliği | EventId | Durum | Olay türü | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORİDA | Kasırga | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MİSSİSSİPPİ | Fırtına Rüzgarı | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GÜRCİSTAN | Fırtına Rüzgarı | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIC SOUTH | Su Damlası | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORİDA | Ş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
Çıkış
Durum | Olay türü | DamageProperty |
---|---|---|
ATLANTIC SOUTH | Su Damlası | 0 |
FLORİDA | Şiddetli Yağmur | 0 |
FLORİDA | Kasırga | 6200000 |
GÜRCİSTAN | Fırtına Rüzgarı | 2000 |
MİSSİSSİPPİ | Fırtına Rüzgarı | 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. İşte bunlardan 10'unun bir örneği.
Olay türü |
---|
Fırtına Rüzgarı |
Dolu |
Ani Sel |
Kurak -lık |
Kış Hava Durumu |
Kış Fırtınası |
Yoğun Kar |
Yüksek Rüzgar |
Donma/Donma |
Sel |
... |
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 storm olaylarını EventType
arar.
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 | Durum | Olay türü | 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 |
... | ... | ... | ... | ... |
Sonuçları sıralama
Texas'ta en çok hasara neden olan en yüksek selleri 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
Çıkış
StartTime | EndTime | Durum | Olay türü | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Sel | 5000000 |
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 |
... | ... | ... | ... | ... |
İ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 taşması döndürür.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Çıkış
StartTime | EndTime | Durum | Olay türü | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Sel | 5000000 |
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 where
buraya koyarsanız top
farklı sonuçlar elde edersiniz. 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ütun 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 EndTime
arasındaki StartTime
farka sahip bir hesaplanmış Duration
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
Çıkış
StartTime | EndTime | Süre | DamageProperty |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | 1.01:30:00 | 5000000 |
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 de en uzun sel olduğunu fark edebilirsiniz.
Hesaplanan Duration
sütunu diğer tüm sütunlarla birlikte görüntülemek için kullanınextend
. Sütun Duration
son sütun olarak eklenir.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Çıkış
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 dinamik sözlük ve erişimcileri kullanarak değerleri bir kümeden diğerine eşlemektir.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Çıkış
Bölüm Kimliği | Kaynak | Friendlyname |
---|---|---|
68796 | Acil Durum Yöneticisi | Genel |
... | ... | ... |
72609 | Yardımcı Şirket | Özel |
... | ... | ... |
Sonraki adımlar
Kusto sorguları yazmanın temelleri hakkında bilgi edindiğ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.