Självstudie: Lär dig vanliga operatorer
Kusto-frågespråk (KQL) används för att skriva frågor i Azure Data Explorer, Azure Monitor Log Analytics, Azure Sentinel med mera. Den här självstudien är en introduktion till de viktiga KQL-operatorerna som används för att komma åt och analysera dina data.
Mer specifik vägledning om hur du frågar efter loggar i Azure Monitor finns i Komma igång med loggfrågor.
Anteckning
Hittar du inte det du letar efter? Den här artikeln har nyligen delats upp på följande sätt:
- Lär dig vanliga operatorer (den här artikeln)
- Använda sammansättningsfunktioner
- Koppla data från flera tabeller
- Skapa geospatiala visualiseringar
I den här självstudien får du lära dig att:
Exemplen i den här självstudien StormEvents
använder tabellen, som är offentligt tillgänglig i hjälpklustret. Om du vill utforska med dina egna data skapar du ett eget kostnadsfritt kluster.
Förutsättningar
- Ett Microsoft-konto eller en Microsoft Entra användaridentitet för att logga in på hjälpklustret
Räkna rader
Börja med att använda taloperatorn för att hitta antalet stormposter i StormEvents
tabellen.
StormEvents
| count
Resultat
Antal |
---|
59066 |
Se ett dataexempel
Om du vill få en uppfattning om data använder du take-operatorn för att visa ett urval av poster. Den här operatorn returnerar ett angivet antal godtyckliga rader från tabellen, vilket kan vara användbart för att förhandsgranska den allmänna datastrukturen och innehållet.
StormEvents
| take 5
Följande tabell visar endast 6 av de 22 returnerade kolumnerna. Kör frågan om du vill se fullständiga utdata.
StartTime | EndTime | EpisodeId | EventID | Tillstånd | Eventtype | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornado | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Åska vind | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIEN | Åska vind | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | SYDATLANT | Vattenspout | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Kraftigt regn | ... |
Välj en delmängd av kolumner
Använd projektoperatorn för att förenkla vyn och välja en viss delmängd av kolumnerna. Att använda project
är ofta mer effektivt och enklare att läsa än att visa alla kolumner.
StormEvents
| take 5
| project State, EventType, DamageProperty
Resultat
Tillstånd | Eventtype | DamageProperty |
---|---|---|
SYDATLANT | Vattenspout | 0 |
FLORIDA | Kraftigt regn | 0 |
FLORIDA | Tornado | 6200000 |
GEORGIEN | Åska vind | 2000 |
MISSISSIPPI | Åska vind | 20000 |
Lista unika värden
Det verkar som om det finns flera typer av stormar baserat på resultatet av föregående fråga. Använd operatorn distinct för att visa en lista över alla unika stormtyper.
StormEvents
| distinct EventType
Det finns 46 typer av stormar i tabellen. Här är ett exempel på 10 av dem.
Eventtype |
---|
Åska vind |
Hagel |
Flash Flood |
Torka |
Vinterväder |
Vinterstorm |
Tung snö |
Hög vind |
Frost/frysning |
Översvämning |
... |
Filtrera efter villkor
Where-operatorn filtrerar rader med data baserat på vissa kriterier.
Följande fråga söker efter stormhändelser i en specifik State
för en specifik EventType
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Det finns 146 händelser som matchar dessa villkor. Här är ett exempel på 5 av dem.
StartTime | EndTime | Tillstånd | Eventtype | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Översvämning | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Översvämning | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Översvämning | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Översvämning | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Översvämning | 0 |
... | ... | ... | ... | ... |
Sortera resultat
Om du vill visa de vanligaste översvämningarna i Texas som orsakade mest skada använder du sorteringsoperatorn för att ordna raderna i fallande ordning baserat på DamageProperty
kolumnen. Standardsorteringsordningen är fallande. Om du vill sortera i stigande ordning anger du asc
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Resultat
StartTime | EndTime | Tillstånd | Eventtype | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Översvämning | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Översvämning | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Översvämning | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Översvämning | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Översvämning | 750000 |
... | ... | ... | ... | ... |
Hämta de översta n raderna
Operatorn top returnerar de första n raderna sorterade efter den angivna kolumnen.
Följande fråga returnerar de fem Översvämningar i Texas som orsakade den mest skadade egenskapen.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Resultat
StartTime | EndTime | Tillstånd | Eventtype | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Översvämning | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Översvämning | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Översvämning | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Översvämning | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Översvämning | 750000 |
Anteckning
Ordningen på operatorerna är viktig. Om du lägger till top
tidigare where
här får du olika resultat. Det beror på att data transformeras av varje operator i ordning. Mer information finns i tabelluttrycksinstruktioner.
Skapa beräknade kolumner
Både projekt- och utöka-operatorerna kan skapa beräknade kolumner.
Använd project
för att endast ange de kolumner som du vill visa och använd extend
för att lägga till den beräknade kolumnen i slutet av tabellen.
Följande fråga skapar en beräknad Duration
kolumn med skillnaden mellan StartTime
och EndTime
. Eftersom vi bara vill visa några få utvalda kolumner är det bättre att använda project
i det här fallet.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Resultat
StartTime | EndTime | Varaktighet | 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 |
Om du tar en titt på den beräknade Duration
kolumnen kanske du märker att översvämningen som orsakade flest skador också var den längsta översvämningen.
Använd extend
för att visa den beräknade Duration
kolumnen tillsammans med alla andra kolumner. Kolumnen Duration
läggs till som den sista kolumnen.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Resultat
StartTime | EndTime | ... | Varaktighet |
---|---|---|---|
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 |
Mappa värden från en uppsättning till en annan
Statisk mappning är en användbar teknik för att ändra presentationen av dina resultat. I KQL är ett sätt att utföra statisk mappning att använda en dynamisk ordlista och accessorer för att mappa värden från en uppsättning till en annan.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Resultat
EventID | Källa | FriendlyName |
---|---|---|
68796 | Emergency Manager | Offentliga |
... | ... | ... |
72609 | Verktygsföretag | Privat |
... | ... | ... |
Nästa steg
Nu när du är bekant med det viktigaste med att skriva Kusto-frågor går du vidare till nästa självstudie och lär dig hur du använder aggregeringsfunktioner för att få djupare inblick i dina data.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för