Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Dotazovací jazyk Kusto (KQL) můžete použít k zápisu dotazů v Azure Data Exploreru, Azure Monitor Log Analytics, Microsoft Sentinelu a dalších. Tento kurz představuje základní operátory KQL, které používáte 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:
- Běžné operátory (tento článek)
- Použití agregačních funkcí
- Spojení dat z více tabulek
- Vytváření geoprostorových vizualizací
V tomto návodu se naučíte, jak:
Příklady v tomto kurzu používají StormEvents tabulku, která je veřejně dostupná v clusteru nápovědy. Pokud chcete prozkoumat vlastní data, vytvořte si vlastní bezplatný cluster.
Příklady v tomto kurzu používají StormEvents tabulku, která je veřejně dostupná v analýze počasíukázkových datech.
Požadavky
Pokud chcete spustit následující dotazy, potřebujete prostředí dotazu s přístupem k ukázkovým datům. Můžete použít jednu z následujících možností:
- Účet Microsoft nebo identita uživatele Microsoft Entra
- Pracovní prostor Fabric s kapacitou s funkcí Microsoft Fabric
Počet řádků
Začněte tím, že pomocí operátoru count zjistíte počet záznamů o bouřkách v tabulce StormEvents.
StormEvents
| count
Výstup
| Počet |
|---|
| 59066 |
Zobrazení ukázky dat
Pokud chcete získat představu o datech, použijte operátor take k zobrazení vzorku 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 pět z 22 vrácených sloupců. Pokud chcete zobrazit úplný výstup, spusťte dotaz.
| Počáteční čas | Koncový Čas | EpisodeId | 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 | Větrná bouře | ... |
| 2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIA | Větrná bouře | ... |
| 2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTICKÝ JIH | Okapová trouba | ... |
| 2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Těžký déšť | ... |
Vyberte podmnožinu sloupců
Pomocí operátoru projektu zjednodušte zobrazení a vyberte konkrétní podmnožinu sloupců. Použití project je často efektivnější a čitelnější než zobrazení všech sloupců.
StormEvents
| take 5
| project State, EventType, DamageProperty
Výstup
| Stav | Typ události | PoškozeníVlastnosti |
|---|---|---|
| ATLANTICKÝ JIH | Okapová trouba | 0 |
| FLORIDA | Těžký déšť | 0 |
| FLORIDA | Tornádo | 6200000 |
| GEORGIA | Větrná bouře | 2000 |
| MISSISSIPPI | Větrná bouře | 20 000 |
Výpis jedinečných hodnot
Výsledky předchozího dotazu zobrazují více typů bouřek. Pomocí operátoru distinct zobrazte seznam všech jedinečných typů bouří.
StormEvents
| distinct EventType
Tabulka obsahuje 46 typů bouřek. Tady je ukázka 10 z nich.
| Typ události |
|---|
| Větrná bouře |
| Krupobití |
| Blesková povodeň |
| Sucho |
| Počasí v zimě |
| Zimní bouře |
| Silné sněžení |
| Velký vítr |
| Mráz/Ukotvení |
| Povodeň |
| ... |
Řazení výsledků
Pokud chcete zobrazit horní záplavy v Texasu, které způsobily největší škody, pomocí operátoru řazení uspořádejte řádky v sestupném pořadí 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
| Počáteční čas | Čas ukončení | Stav | Typ události | PoškozeníVlastnosti |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Povodeň | 5000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Povodeň | 1200000 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Povodeň | 1000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Povodeň | 750000 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Povodeň | 750000 |
| ... | ... | ... | ... | ... |
Filtrovat podle podmínky
Operátor where filtruje řádky dat na základě určitých kritérií.
Následující dotaz hledá bouřkové události v konkrétní State a konkrétní EventType.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Existuje 146 událostí, které splňují tyto podmínky. Tady je ukázka pěti z nich.
| Počáteční čas | Čas ukončení | Stav | Typ události | PoškozeníVlastnosti |
|---|---|---|---|---|
| 2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Povodeň | 0 |
| 2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Povodeň | 0 |
| 2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Povodeň | 0 |
| 2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Povodeň | 20 000 |
| 2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Povodeň | 0 |
| ... | ... | ... | ... | ... |
Filtrování podle data a časového rozsahu
K filtrování dat na základě konkrétního časového rozsahu použijte mezi operátorem.
Následující dotaz najde všechny události storm mezi 1. srpnem 2007 a 30. srpnem 2007 a jejich stavy, typy událostí, časy zahájení a časy ukončení. Dotaz seřadí výsledky vzestupně podle času zahájení.
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
Výstup
| Stav | Eventype | Počáteční čas | Koncový čas |
|---|---|---|---|
| GEORGIA | Nadměrné teplo | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Sucho | 2007-08-01 00:00:00 | 2007-08-3123:59:00 |
| JIŽNÍ KAROLÍNA | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| TENNESSEE | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GEORGIA | Nadměrné teplo | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| TENNESSEE | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| MINNESOTA | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| WISCONSIN | Sucho | 2007-08-01 00:00:00 | 2007-08-31 23:59:00 |
| GEORGIA | Nadměrné teplo | 2007-08-01 00:00:00 | 2007-08-27 23:59:00 |
| ... | ... | ... | ... |
Získání prvních n řádků
Horní operátor vrátí prvních n řádků seřazených podle zadaného sloupce.
Následující dotaz vrátí pět záplav v Texasu, které zničily nejvíce majetku.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Výstup
| Počáteční čas | Čas ukončení | Stav | Typ události | PoškozeníVlastnosti |
|---|---|---|---|---|
| 2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Povodeň | 5000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Povodeň | 1200000 |
| 2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Povodeň | 1000000 |
| 2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Povodeň | 750000 |
| 2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Povodeň | 750000 |
Poznámka:
Pořadí operátorů je důležité. Pokud v tomto příkladu dáte top před where, získáte jiné výsledky. Každý operátor transformuje data v pořadí. Další informace najdete v tabulkových příkazech výrazů.
Vytváření počítaných sloupců
K vytvoření počítaných sloupců můžete použít operátory projekce a rozšíření.
Slouží project k určení pouze sloupců, které chcete zobrazit. Slouží extend k přidání počítaného sloupce na konec tabulky.
Následující dotaz vytvoří počítaný Duration sloupec s rozdílem mezi StartTime a EndTime. Vzhledem k tomu, že chcete zobrazit jenom několik vybraných sloupců, project je použití v tomto případě lepší volbou.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Výstup
| Počáteční čas | Čas ukončení | Doba trvání | PoškozeníVlastnosti |
|---|---|---|---|
| 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 |
Pokud se podíváte na počítaný Duration sloupec, můžete si všimnout, že záplava, která způsobila největší škody, byla také nejdelší záplava.
Použijte 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
| Počáteční čas | Čas ukončení | ... | Doba trvání |
|---|---|---|---|
| 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 |
Mapování hodnot z jedné sady na jinou
Statické mapování je užitečná technika pro změnu prezentace výsledků. V KQL můžete statické mapování provést pomocí 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 | Zdroj | PřátelskéJméno |
|---|---|---|
| 68796 | Správce tísňového volání | Veřejná |
| ... | ... | ... |
| 72609 | Infrastrukturní společnost | Privátní |
| ... | ... | ... |
Další krok
Teď, když znáte základy psaní dotazů Kusto, přejděte k dalšímu kurzu a zjistěte, jak pomocí agregačních funkcí získat hlubší přehled o datech.