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
Pomocí dotazovacího jazyka Kusto (KQL) můžete psát dotazy v Azure Data Exploreru, Azure Monitor Log Analytics, Microsoft Sentinelu a dalších. Tento kurz představuje základní operátory KQL, které můžete použít 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 Learn (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 ukázkových datech analýzypočasí.
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 povolenou kapacitou Microsoft Fabric
Počet řádků
Začněte tím, že pomocí operátoru count vyhledáte počet záznamů storm v StormEvents tabulce.
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 | EndTime | EpisodeId | EventId | State | 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éšť | ... |
Výběr podmnožina 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
| State | Typ události | DamageProperty |
|---|---|---|
| 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 ukazují, že existuje více typů bouřek. Pomocí jedinečného operátoru můžete zobrazit seznam všech jedinečných typů storm.
StormEvents
| distinct EventType
Tabulka obsahuje 46 typů bouřek. Tady je ukázka 10 z nich.
| Typ události |
|---|
| Větrná bouře |
| Krupobití |
| Velká voda |
| 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 | EndTime | State | Typ události | DamageProperty |
|---|---|---|---|---|
| 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á události storm v konkrétní State konkrétní .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 pěti z nich.
| Počáteční čas | EndTime | State | Typ události | DamageProperty |
|---|---|---|---|---|
| 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 vrátí výsledky seřazené 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
| State | Eventype | Počáteční čas | EndTime |
|---|---|---|---|
| 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 texasových záplav, které způsobily nejvíce poškozenou vlastnost.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Výstup
| Počáteční čas | EndTime | State | Typ události | DamageProperty |
|---|---|---|---|---|
| 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 a StartTimeEndTime. 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 | EndTime | Doba trvání | 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 |
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.
Umožňuje extend zobrazit počítaný Duration sloupec 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 | EndTime | ... | 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 | FriendlyName |
|---|---|---|
| 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.