Öğ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:
- Yaygın işleçleri öğrenin (bu makale)
- Toplama işlevlerini kullanma
- Birden çok tablodan verileri birleştirme
- Jeo-uzamsal görselleştirmeler oluşturma
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.
Bu öğreticideki örneklerde, Hava durumu analizi örnek verilerindeStormEvents
genel kullanıma açık olan tablo kullanılır.
Ö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:
- Microsoft hesabı veya Microsoft Entra kullanıcı kimliği
- Microsoft Fabric özellikli kapasiteye sahip doku çalışma alanı
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ı 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 | 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
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 Duration
arası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.