Kurz: Seznámení s běžnými operátory
dotazovací jazyk Kusto (KQL) se používá k psaní dotazů v Azure Data Explorer, Azure Monitor Log Analytics, Azure Sentinel a dalších. Tento kurz představuje úvod do základních operátorů KQL používaných pro přístup k datům a jejich analýzu.
Konkrétnější pokyny k dotazování protokolů ve službě Azure Monitor najdete v tématu Začínáme s dotazy na protokoly.
Poznámka
Nemůžete najít, co hledáte? Tento článek byl nedávno rozdělen takto:
- Seznámení s běžnými operátory (tento článek)
- Použití agregačních funkcí
- Spojení dat z více tabulek
- Vytváření geoprostorových vizualizací
V tomto kurzu se naučíte:
Příklady v tomto kurzu používají StormEvents
tabulku, která je veřejně dostupná v clusteru nápovědy. Pokud chcete zkoumat data s vlastními daty, vytvořte si vlastní bezplatný cluster.
Požadavky
- Účet Microsoft nebo Microsoft Entra identitu uživatele pro přihlášení ke clusteru nápovědy
Počet řádků
Začněte tím, že pomocí operátoru count vyhledáte počet záznamů storm v tabulce StormEvents
.
StormEvents
| count
Výstup
Počet |
---|
59066 |
Zobrazení ukázky dat
Pokud chcete získat představu o datech, pomocí operátoru take zobrazte vzorek záznamů. Tento operátor vrátí zadaný počet libovolných řádků z tabulky, což může být užitečné pro zobrazení náhledu obecné datové struktury a obsahu.
StormEvents
| take 5
Následující tabulka ukazuje pouze 6 z 22 vrácených sloupců. Pokud chcete zobrazit úplný výstup, spusťte dotaz.
StartTime | EndTime | Id epizody | EventId | Stav | Typ události | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornádo | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Bouřkový vítr | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GRUZIE | Bouřkový vítr | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIC SOUTH | Kapka vody | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Silný déšť | ... |
Vyberte podmnožinu sloupců.
Pomocí operátoru projektu můžete zjednodušit zobrazení a vybrat konkrétní podmnožinu sloupců. Použití project
je často efektivnější a čitelnější než prohlížení všech sloupců.
StormEvents
| take 5
| project State, EventType, DamageProperty
Výstup
Stav | Typ události | Vlastnost poškození |
---|---|---|
ATLANTIC SOUTH | Kapka vody | 0 |
FLORIDA | Silný déšť | 0 |
FLORIDA | Tornádo | 6200000 |
GRUZIE | Bouřkový vítr | 2000 |
MISSISSIPPI | Bouřkový vítr | 20000 |
Vypsat jedinečné hodnoty
Zdá se, že na základě výsledků předchozího dotazu existuje několik typů stormů. Pomocí operátoru distinct vypište všechny jedinečné typy storm.
StormEvents
| distinct EventType
Tabulka obsahuje 46 typů bouřek. Tady je ukázka 10 z nich.
Typ události |
---|
Bouřkový vítr |
Krupobití |
Blesková povodeň |
Sucha |
Zimní počasí |
Zimní bouře |
Těžký sníh |
Silný vítr |
Mráz/zamrznutí |
Povodní |
... |
Filtrovat podle podmínky
Operátor where filtruje řádky dat na základě určitých kritérií.
Následující dotaz hledá události storm v určitém State
typu EventType
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Tyto podmínky splňují 146 událostí. Tady je ukázka 5 z nich.
StartTime | EndTime | Stav | Typ události | Vlastnost poškození |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Povodní | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Povodní | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Povodní | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Povodní | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Povodní | 0 |
... | ... | ... | ... | ... |
Řazení výsledků
Pokud chcete zobrazit nejvyšší záplavy v Texasu, které způsobily největší škody, použijte operátor řazení a uspořádejte řádky sestupně podle DamageProperty
sloupce. Výchozí pořadí řazení je sestupné. Pokud chcete řadit vzestupně, zadejte asc
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Výstup
StartTime | EndTime | Stav | Typ události | Vlastnost poškození |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Povodní | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Povodní | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Povodní | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Povodní | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Povodní | 750000 |
... | ... | ... | ... | ... |
Získání prvních n řádků
Operátor top vrátí prvních n řádků seřazených podle zadaného sloupce.
Následující dotaz vrátí pět texaských povodní, které způsobily nejvíce poškozený majetek.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Výstup
StartTime | EndTime | Stav | Typ události | Vlastnost poškození |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Povodní | 5000000 |
27.6.2007T00:00:00Z | 27.06.2007T12:00:00Z | TEXAS | Povodní | 1200000 |
28.6.2007T18:00:00Z | 28.6.2007T23:00:00Z | TEXAS | Povodní | 1000000 |
27.6.2007T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Povodní | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Povodní | 750000 |
Poznámka
Pořadí operátorů je důležité. Pokud ho sem vložíte top
, where
dostanete různé výsledky. Je to proto, že data jsou transformována jednotlivými operátory v pořadí. Další informace najdete v tématu Příkazy tabulkových výrazů.
Vytváření počítaných sloupců
Operátory projektu i rozšíření můžou vytvářet počítané sloupce.
Slouží project
k určení pouze sloupců, které chcete zobrazit, a k extend
připojení počítaného sloupce na konec tabulky.
Následující dotaz vytvoří počítaný Duration
sloupec s rozdílem StartTime
mezi a EndTime
. Vzhledem k tomu, že chceme zobrazit jenom několik vybraných sloupců, je v tomto případě lepší volbou použití project
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Výstup
StartTime | EndTime | Doba trvání | DamageProperty |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | 1.01:30:00 | 5000000 |
27.6.2007T00:00:00Z | 27.06.2007T12:00:00Z | 12:00:00 | 1200000 |
28.6.2007T18:00:00Z | 28.6.2007T23:00:00Z | 05:00:00 | 1000000 |
27.6.2007T00: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 |
Pokud se podíváte na počítaný Duration
sloupec, můžete si všimnout, že povodeň, která způsobila nejvíce škod, byla také nejdelší povodeň.
Slouží extend
k zobrazení počítaného Duration
sloupce spolu se všemi ostatními sloupci. Sloupec Duration
se přidá jako poslední sloupec.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Výstup
StartTime | EndTime | ... | Doba trvání |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | ... | 1.01:30:00 |
27.6.2007T00:00:00Z | 27.06.2007T12:00:00Z | ... | 12:00:00 |
28.6.2007T18:00:00Z | 28.6.2007T23:00:00Z | ... | 05:00:00 |
27.6.2007T00:00:00Z | 2007-06-27T08:00:00Z | ... | 08:00:00 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | ... | 03:00:00 |
Mapování hodnot z jedné sady na jinou
Statické mapování je užitečná technika pro změnu prezentace výsledků. V KQL je jedním ze způsobů, jak provést statické mapování, použití dynamického slovníku a přístupových objektů k mapování hodnot z jedné sady na jinou.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Výstup
EventId | Source | Friendlyname |
---|---|---|
68796 | Nouzový manažer | Veřejná |
... | ... | ... |
72609 | Utility Company | Privátní |
... | ... | ... |
Další krok
Teď, když jste obeznámeni se základy psaní dotazů Kusto, přejděte k dalšímu kurzu a naučte se používat agregační funkce k získání hlubšího přehledu o vašich datech.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro