Oktatóanyag: Gyakori operátorok megismerése
A Kusto lekérdezésnyelv (KQL) lekérdezések írására szolgál az Azure Data Explorer, az Azure Monitor Log Analytics, az Azure Sentinel és egyebek között. Ez az oktatóanyag bemutatja az adatok eléréséhez és elemzéséhez használt alapvető KQL-operátorokat.
A naplók Azure Monitorban való lekérdezésével kapcsolatos további útmutatásért lásd: A napló lekérdezéseinek első lépései.
Megjegyzés
Nem találja, amit keres? Ezt a cikket nemrég osztották fel, az alábbiak szerint:
- Gyakori operátorok ismertetése (ez a cikk)
- Összesítő függvények használata
- Adatok összekapcsolás több táblából
- Térinformatikai vizualizációk létrehozása
Ebből az oktatóanyagból az alábbiakat sajátíthatja el:
Az oktatóanyagban szereplő példák a StormEvents
súgófürtben nyilvánosan elérhető táblát használják. Ha saját adataival szeretne megismerkedni, hozzon létre egy saját ingyenes fürtöt.
Előfeltételek
- Microsoft-fiók vagy Microsoft Entra felhasználói identitás a súgófürtbe való bejelentkezéshez
Sorok számlálása
Először használja a count operátort a táblában lévő StormEvents
stormrekordok számának megkereséséhez.
StormEvents
| count
Kimenet
Darabszám |
---|
59066 |
Mintaadatok megtekintése
Az adatok értelmezéséhez használja a take operátort a rekordok mintájának megtekintéséhez. Ez az operátor megadott számú tetszőleges sort ad vissza a táblából, ami hasznos lehet az általános adatstruktúra és -tartalom előnézetének megtekintéséhez.
StormEvents
| take 5
Az alábbi táblázat a 22 visszaadott oszlopból csak 6-ot mutat be. A teljes kimenet megtekintéséhez futtassa a lekérdezést.
StartTime | EndTime | EpisodeId | EventId | Állapot | EventType | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornádó | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Zivatar szél | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GRÚZIA | Zivatar szél | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTI-ÓCEÁN DÉLI RÉGIÓJA | Vízspout | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Nagy eső | ... |
Oszlopok részhalmazának kiválasztása
A projekt operátorával egyszerűsítheti a nézetet, és kiválaszthatja az oszlopok egy adott részhalmazát. A használata project
gyakran hatékonyabb és könnyebben olvasható, mint az összes oszlop megtekintése.
StormEvents
| take 5
| project State, EventType, DamageProperty
Kimenet
Állapot | EventType | DamageProperty |
---|---|---|
ATLANTI-ÓCEÁN DÉLI RÉGIÓJA | Vízspout | 0 |
FLORIDA | Nagy eső | 0 |
FLORIDA | Tornádó | 6200000 |
GRÚZIA | Zivatar szél | 2000 |
MISSISSIPPI | Zivatar szél | 20000 |
Egyedi értékek listázása
Úgy tűnik, hogy az előző lekérdezés eredményei alapján több típusú vihar is létezik. A distinct operátorral listázhatja az összes egyedi vihartípust.
StormEvents
| distinct EventType
A táblázatban 46 típusú vihar van. Íme egy minta 10-ből.
EventType |
---|
Zivatar szél |
Jégeső |
Villámárviz |
Aszály |
Téli időjárás |
Téli vihar |
Nehéz hó |
Magas szél |
Fagy/fagy |
Árvíz |
... |
Szűrés feltétel szerint
A where operátor bizonyos feltételek alapján szűri az adatsorokat.
A következő lekérdezés a stormeseményeket keresi egy adott State
EventType
adott elemet illetően.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
146 esemény felel meg ezeknek a feltételeknek. Íme egy 5-ből álló minta.
StartTime | EndTime | Állapot | EventType | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Árvíz | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Árvíz | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Árvíz | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Árvíz | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Árvíz | 0 |
... | ... | ... | ... | ... |
Az eredmények rendezése
A legnagyobb kárt okozó texasi árvizek megtekintéséhez használja a rendezési operátort a sorok csökkenő sorrendbe rendezéséhez az DamageProperty
oszlop alapján. Az alapértelmezett rendezési sorrend csökkenő. Növekvő sorrendben történő rendezéshez adja meg a következőt asc
: .
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Kimenet
StartTime | EndTime | Állapot | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Árvíz | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Árvíz | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Árvíz | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Árvíz | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Árvíz | 750000 |
... | ... | ... | ... | ... |
A felső n sor lekérése
A felső operátor az első n sort adja vissza a megadott oszlop szerint rendezve.
A következő lekérdezés azt az öt texasi árvízet adja vissza, amely a leginkább sérült tulajdonságot okozta.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Kimenet
StartTime | EndTime | Állapot | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Árvíz | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Árvíz | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Árvíz | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Árvíz | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Árvíz | 750000 |
Megjegyzés
Az operátorok sorrendje fontos. Ha korábban where
idetettetop
, eltérő eredményeket fog kapni. Ennek az az oka, hogy az adatokat az egyes operátorok sorrendben alakítják át. További információ: táblázatos kifejezési utasítások.
Számított oszlopok létrehozása
A projekt és a kiterjesztő operátorok egyaránt létrehozhatnak számított oszlopokat.
A használatával project
csak a megtekinteni kívánt oszlopokat adhatja meg, a extend
számított oszlopot pedig a tábla végéhez fűzheti.
A következő lekérdezés létrehoz egy számított Duration
oszlopot, amely a és EndTime
a StartTime
közötti különbséget tartalmazza. Mivel csak néhány oszlopot szeretnénk megtekinteni, a használata project
ebben az esetben a jobb választás.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Kimenet
StartTime | EndTime | Időtartam | Kártulajdonság |
---|---|---|---|
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 |
Ha megnézzük a kiszámított oszlopot Duration
, észreveheti, hogy a legnagyobb kárt okozó árvíz is a leghosszabb árvíz volt.
A számított Duration
oszlop és az összes többi oszlop megtekintésére használhatóextend
. Az Duration
oszlop az utolsó oszlopként lesz hozzáadva.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Kimenet
StartTime | EndTime | ... | Időtartam |
---|---|---|---|
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 |
Értékek leképezése egyik halmazból a másikba
A statikus leképezés hasznos módszer az eredmények megjelenítésének módosítására. A KQL-ben a statikus leképezés végrehajtásának egyik módja egy dinamikus szótár és kiegészítő használata az értékek egyik készletről a másikra való leképezéséhez.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Kimenet
EventId | Forrás | FriendlyName |
---|---|---|
68796 | Vészmenedzser | Nyilvános |
... | ... | ... |
72609 | Közüzemi vállalat | Személyes |
... | ... | ... |
Következő lépés
Most, hogy már ismeri a Kusto-lekérdezések írásának alapjait, folytassa a következő oktatóanyaggal, és ismerje meg, hogyan használhatja az összesítő függvényeket az adatok mélyebb megismeréséhez.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: