Zelfstudie: Algemene operators leren
Kusto-querytaal (KQL) wordt gebruikt voor het schrijven van query's in Azure Data Explorer, Azure Monitor Log Analytics, Azure Sentinel en meer. Deze zelfstudie is een inleiding tot de essentiële KQL-operators die worden gebruikt voor het openen en analyseren van uw gegevens.
Zie Aan de slag met logboekquery's voor specifiekere richtlijnen voor het uitvoeren van query's op logboeken in Azure Monitor.
Notitie
Kunt u niet vinden wat u zoekt? Dit artikel is onlangs als volgt gesplitst:
- Algemene operators leren (dit artikel)
- Aggregatiefuncties gebruiken
- Gegevens uit meerdere tabellen samenvoegen
- Georuimtelijke visualisaties maken
In deze zelfstudie leert u het volgende:
In de voorbeelden in deze zelfstudie wordt de StormEvents
tabel gebruikt, die openbaar beschikbaar is in het Help-cluster. Als u wilt verkennen met uw eigen gegevens, maakt u uw eigen gratis cluster.
Vereisten
- Een Microsoft-account of Microsoft Entra gebruikersidentiteit om u aan te melden bij het Help-cluster
Rijen tellen
Begin met het gebruik van de operator Count om het aantal stormrecords in de StormEvents
tabel te vinden.
StormEvents
| count
Uitvoer
Count |
---|
59066 |
Een voorbeeld van gegevens bekijken
Als u een beeld wilt krijgen van de gegevens, gebruikt u de operator take om een voorbeeld van records weer te geven. Deze operator retourneert een opgegeven aantal willekeurige rijen uit de tabel, wat handig kan zijn voor het bekijken van een voorbeeld van de algemene gegevensstructuur en inhoud.
StormEvents
| take 5
In de volgende tabel ziet u slechts 6 van de 22 geretourneerde kolommen. Voer de query uit om de volledige uitvoer te zien.
StartTime | EndTime | EpisodeId | Eventid | Staat | 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 | Onweerswind | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIË | Onweerswind | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTISCHE ZUID | Waterspout | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Zware regen | ... |
Een subset van kolommen selecteren
Gebruik de projectoperator om de weergave te vereenvoudigen en een specifieke subset van kolommen te selecteren. Het gebruik project
is vaak efficiënter en gemakkelijker te lezen dan het weergeven van alle kolommen.
StormEvents
| take 5
| project State, EventType, DamageProperty
Uitvoer
Staat | EventType | DamageProperty |
---|---|---|
ATLANTISCHE ZUID | Waterspout | 0 |
FLORIDA | Zware regen | 0 |
FLORIDA | Tornado | 6200000 |
GEORGIË | Onweerswind | 2000 |
MISSISSIPPI | Onweerswind | 20.000 |
Unieke waarden weergeven
Het lijkt erop dat er meerdere soorten stormen zijn op basis van de resultaten van de vorige query. Gebruik de unieke operator om alle unieke stormtypen weer te geven.
StormEvents
| distinct EventType
Er zijn 46 soorten stormen in de tabel. Hier volgt een voorbeeld van 10.
EventType |
---|
Onweerswind |
Hagel |
Flash Flood |
Droogte |
Winterweer |
Winterstorm |
Zware sneeuw |
Hoge wind |
Vorst/vriezen |
Overstroming |
... |
Filteren op voorwaarde
De operator where filtert rijen met gegevens op basis van bepaalde criteria.
Met de volgende query wordt gezocht naar storm-gebeurtenissen in een specifieke State
van een specifieke EventType
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Er zijn 146 gebeurtenissen die aan deze voorwaarden voldoen. Hier volgt een voorbeeld van 5.
StartTime | EndTime | Staat | EventType | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Overstroming | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Overstroming | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Overstroming | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Overstroming | 20.000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Overstroming | 0 |
... | ... | ... | ... | ... |
Resultaten sorteren
Als u de hoogste overstromingen in Texas wilt weergeven die de meeste schade hebben veroorzaakt, gebruikt u de sorteeroperator om de rijen in aflopende volgorde te rangschikken op basis van de DamageProperty
kolom. De standaardsortoring is aflopend. Als u in oplopende volgorde wilt sorteren, geeft u asc
op.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Uitvoer
StartTime | EndTime | Staat | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Overstroming | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Overstroming | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Overstroming | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Overstroming | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Overstroming | 750000 |
... | ... | ... | ... | ... |
De bovenste n rijen ophalen
De bovenste operator retourneert de eerste n rijen gesorteerd op de opgegeven kolom.
De volgende query retourneert de vijf overstromingen in Texas die de meest beschadigde eigenschap hebben veroorzaakt.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Uitvoer
StartTime | EndTime | Staat | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Overstroming | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Overstroming | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Overstroming | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Overstroming | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Overstroming | 750000 |
Notitie
De volgorde van de operators is belangrijk. Als u hier voor where
plaatsttop
, krijgt u verschillende resultaten. Dit komt doordat de gegevens door elke operator in volgorde worden getransformeerd. Zie instructies voor tabellaire expressies voor meer informatie.
Berekende kolommen maken
De project - en uitbreidingsoperatoren kunnen beide berekende kolommen maken.
Gebruik project
om alleen de kolommen op te geven die u wilt weergeven en gebruik extend
om de berekende kolom toe te voegen aan het einde van de tabel.
Met de volgende query maakt u een berekende Duration
kolom met het verschil tussen de StartTime
en EndTime
. Omdat we slechts enkele geselecteerde kolommen willen weergeven, is het project
in dit geval de beste keuze.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Uitvoer
StartTime | EndTime | Duur | 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 |
Als u de berekende Duration
kolom bekijkt, ziet u mogelijk dat de overstroming die de meeste schade heeft veroorzaakt, ook de langste overstroming was.
Gebruik extend
deze optie om de berekende Duration
kolom samen met alle andere kolommen weer te geven. De Duration
kolom wordt toegevoegd als laatste kolom.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Uitvoer
StartTime | EndTime | ... | Duur |
---|---|---|---|
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 |
Waarden toewijzen van de ene set aan een andere
Statische toewijzing is een handige techniek voor het wijzigen van de presentatie van uw resultaten. In KQL kunt u statische toewijzingen uitvoeren door een dynamische woordenlijst en accessors te gebruiken om waarden van de ene set aan de andere toe te wijzen.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Uitvoer
Eventid | Bron | FriendlyName |
---|---|---|
68796 | Manager voor noodgevallen | Openbaar |
... | ... | ... |
72609 | Nutsbedrijf | Privé |
... | ... | ... |
Volgende stap
Nu u bekend bent met de basisprincipes van het schrijven van Kusto-query's, gaat u verder met de volgende zelfstudie en leert u hoe u aggregatiefuncties gebruikt om meer inzicht te krijgen in uw gegevens.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor