Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőkre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
A Kusto Query Language (KQL) használatával lekérdezéseket írhat az Azure Data Explorerben, az Azure Monitor Log Analyticsben, a Microsoft Sentinelben stb. Ez az oktatóanyag bemutatja azokat az alapvető KQL-operátorokat, amelyeket az adatok eléréséhez és elemzéséhez használ.
A naplók Azure Monitorban való lekérdezésével kapcsolatos további útmutatásért tekintse meg a napló lekérdezéseinek első lépéseit.
Megjegyzés:
Nem találja, amit keres? Ez a cikk nemrég fel lett osztva, 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
Ebben az oktatóanyagban a következőket sajátíthatja el:
Az ebben az oktatóanyagban bemutatott példák a StormEvents klaszterben nyilvánosan elérhető táblát használják. Ahhoz, hogy saját adataival felfedezhesse, hozzon létre saját ingyenes fürtöt.
Az oktatóanyagban szereplő példák a StormEvents táblázatot használják, amely nyilvánosan elérhető a WeatherAnalytics-mintaadatokban.
Előfeltételek
A következő lekérdezések futtatásához olyan lekérdezési környezetre van szükség, amely hozzáfér a mintaadatokhoz. Az alábbi lehetőségek egyikét használhatja:
- Microsoft-fiók vagy Microsoft Entra azonosító használata a súgófürtbe történő bejelentkezéshez
- Microsoft-fiók vagy Microsoft Entra felhasználói identitás
- Fabric-munkaterület Microsoft Fabric-kompatibilis kapacitással
Sorok megszámlálása
Kezdje azzal, hogy a számláló operátort használja a StormEvents táblában található viharrekordok számának megkereséséhez.
StormEvents
| count
Kimenet
| Számlál |
|---|
| 59066 |
Adatminta 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 adatszerkezet és -tartalom előnézetének megtekintéséhez.
StormEvents
| take 5
Az alábbi táblázat a 22 visszaadott oszlopból csak ötöt mutat be. A teljes kimenet megtekintéséhez futtassa a lekérdezést.
| StartTime | Záróidőpont | EpisodeId | EventId | Állam | Eseménytípus | ... |
|---|---|---|---|---|---|---|
| 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 | DÉL-ATLANTI | Vízspout | ... |
| 2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Nagy eső | ... |
Oszlopok részhalmazának kijelölése
A projekt operátorával egyszerűsítheti a nézetet, és kiválaszthatja az oszlopok egy adott részhalmazát.
project használata gyakran hatékonyabb és könnyebben olvasható, mint az összes oszlop megtekintése.
StormEvents
| take 5
| project State, EventType, DamageProperty
Kimenet
| Állam | Eseménytípus | KárTulajdonság |
|---|---|---|
| DÉL-ATLANTI | 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
Az előző lekérdezés eredményei több típusú vihart mutatnak. A különálló operátorral listázhatja az összes egyedi vihartípust.
StormEvents
| distinct EventType
A táblázat 46 típusú vihart tartalmaz. Íme egy 10-ből álló minta.
| Eseménytípus |
|---|
| Zivatar szél |
| Jégeső |
| Villámárvíz |
| Aszály |
| Téli időjárás |
| Téli vihar |
| Nehéz hó |
| Nagy szél |
| Fagy/befagyás |
| Árvíz |
| ... |
Az eredmények rendezése
A legtöbb kárt okozó texasi árvizek megtekintéséhez használja a rendezési operátort, hogy az oszlop alapján csökkenő sorrendbe rendezze a DamageProperty sorokat. 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 | Záróidőpont | Állam | Eseménytípus | KárTulajdonság |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Árvíz | 5 000 000 |
| 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 | 1 000 000 |
| 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 |
| ... | ... | ... | ... | ... |
Szűrés feltétel szerint
Az where operátor bizonyos feltételek alapján szűri az adatsorokat.
Az alábbi lekérdezés vihareseményeket keres egy adott State és egy adott EventType területén.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
146 esemény felel meg ezeknek a feltételeknek. Íme egy ötből álló minta.
| StartTime | Záróidőpont | Állam | Eseménytípus | KárTulajdonság |
|---|---|---|---|---|
| 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 |
| ... | ... | ... | ... | ... |
Szűrés dátum és időtartomány szerint
A két operátor használatával szűrheti az adatokat egy adott időtartomány alapján.
Az alábbi lekérdezés az összes 2007. augusztus 1. és 2007. augusztus 30. közötti vihareseményt, valamint azok állapotát, eseménytípusait, kezdési és befejezési idejét keresi. A lekérdezés a kezdési időpont szerint növekvő sorrendbe rendezi az eredményeket.
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
Kimenet
| Állam | Eseménytípus | StartTime | Záróidőpont |
|---|---|---|---|
| GRÚZIA | Túlzott hő | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Aszály | 2007-08-01 00:00:00 | 2007-08-3123:59:00 |
| DÉL-KAROLINA | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GRÚZIA | Túlzott hő | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| MINNESOTA | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| WISCONSIN | Aszály | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GRÚZIA | Túlzott hő | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| ... | ... | ... | ... |
A felső n sorok lekérése
A felső operátor az első n sort adja vissza a megadott oszlop szerint rendezve.
Az alábbi lekérdezés az öt texasi árvizet adja vissza, amelyek a legnagyobb kárt okozták az ingatlanokban.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Kimenet
| StartTime | Záróidőpont | Állam | Eseménytípus | KárTulajdonság |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Árvíz | 5 000 000 |
| 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 | 1 000 000 |
| 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 ebben a példában top-t where elé helyezi, különböző eredményeket kap. Minden operátor sorrendben alakítja át az adatokat. További információ: táblázatos kifejezési utasítások.
Számított oszlopok létrehozása
A projekttelkiterjesztheti az operátorokat számított oszlopok létrehozására.
Csak a megtekinteni kívánt oszlopok megadására használható project . Használja a extend-t a számított oszlop hozzáadásához a tábla végéhez.
Az alábbi lekérdezés létrehoz egy számított Duration oszlopot, amely a kettő közötti StartTime különbséget tartalmazza EndTime. Mivel csak néhány kiválasztott oszlopot szeretne megtekinteni, ebben az esetben a project használata 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 | Záróidőpont | Időtartam | KárTulajdonság |
|---|---|---|---|
| 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 | 1 000 000 |
| 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 megtekinti a számított oszlopot Duration , észreveheti, hogy a legnagyobb kárt okozó áradás is a leghosszabb árvíz volt.
A számított extend oszlop és az összes többi oszlop megtekintésére használhatóDuration. 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 | Záróidőpont | ... | 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ásik halmazba
A statikus leképezés hasznos módszer az eredmények megjelenítésének módosításához. A KQL-ben statikus leképezést hajthat végre egy dinamikus szótár és tartozék használatával az értékek egyik halmazból a másikba 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 | Segélyhívás-kezelő | Public |
| ... | ... | ... |
| 72609 | Közüzemi vállalat | Privát |
| ... | ... | ... |
Következő lépés
Most, hogy megismerte 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.