Tutorial: aprender operadores comuns
O Kusto Query Language (KQL) é usado para escrever consultas no Azure Data Explorer, no Azure Monitor Log Analytics, no Azure Sentinel e muito mais. Este tutorial é uma introdução aos operadores KQL essenciais usados para acessar e analisar seus dados.
Para obter orientações mais específicas sobre como consultar logs no Azure Monitor, consulte Introdução às consultas de log.
Observação
Não encontrou o que você está procurando? Este artigo foi recentemente dividido, da seguinte forma:
- Conheça operadores comuns (este artigo)
- Usar funções de agregação
- Unir dados de várias tabelas
- Criar visualizações geoespaciais
Neste tutorial, você aprenderá como:
Os exemplos neste tutorial usam a StormEvents
tabela, que está disponível publicamente no cluster de ajuda. Para explorar com seus próprios dados, crie seu próprio cluster gratuito.
Pré-requisitos
- Uma conta da Microsoft ou uma identidade de usuário do Microsoft Entra para entrar no cluster de ajuda
Contar linhas
Comece usando o operador de contagem para localizar o número de registros de tempestade na StormEvents
tabela.
StormEvents
| count
Saída
Count |
---|
59066 |
Veja uma amostra de dados
Para ter uma noção dos dados, use o operador take para exibir uma amostra de registros. Esse operador retorna um número especificado de linhas arbitrárias da tabela, que pode ser útil para visualizar a estrutura de dados e o conteúdo gerais.
StormEvents
| take 5
A tabela a seguir mostra apenas 5 das 22 colunas retornadas. Para ver a saída completa, execute a consulta.
StartTime | EndTime | EpisodeId | EventId | Estado | EventType | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLÓRIDA | Tornado | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPI | Thunderstorm Wind | ... |
30T16:00:00Z 2007-12-30Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEÓRGIA | Thunderstorm Wind | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLÂNTICO SUL | Tromba de água | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLÓRIDA | Chuva Forte | ... |
Selecionar um subconjunto de colunas
Use o operador de projeto para simplificar a exibição e selecionar um subconjunto específico de colunas. O uso project
geralmente é mais eficiente e fácil de ler do que visualizar todas as colunas.
StormEvents
| take 5
| project State, EventType, DamageProperty
Saída
Estado | EventType | DamageProperty |
---|---|---|
ATLÂNTICO SUL | Tromba de água | 0 |
FLÓRIDA | Chuva Forte | 0 |
FLÓRIDA | Tornado | 6200000 |
GEÓRGIA | Thunderstorm Wind | 2000 |
MISSISSIPI | Thunderstorm Wind | 20000 |
Listar valores exclusivos
Parece que há vários tipos de tempestades com base nos resultados da consulta anterior. Use o operador distinto para listar todos os tipos de tempestade exclusivos.
StormEvents
| distinct EventType
Há 46 tipos de tempestades na tabela. Aqui está uma amostra de 10 deles.
EventType |
---|
Thunderstorm Wind |
Granizo |
Saturação de Flash |
Seca |
Clima de Inverno |
Tempestade de Inverno |
Neve Pesada |
Vento Forte |
Geada/Frio |
Saturação |
... |
Filtrar por condição
O operador where filtra linhas de dados com base em determinados critérios.
A consulta a seguir procura eventos de tempestade em um específico State
de um EventType
arquivo .
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
São 146 eventos que correspondem a essas condições. Aqui está uma amostra de 5 deles.
StartTime | EndTime | Estado | EventType | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Saturação | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Saturação | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Saturação | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Saturação | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Saturação | 0 |
... | ... | ... | ... | ... |
Classificar resultados
Para exibir as principais inundações no Texas que causaram mais danos, use o operador de classificação para organizar as linhas em ordem decrescente com base na DamageProperty
coluna. A ordem de classificação padrão é decrescente. Para classificar em ordem crescente, especifique asc
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Saída
StartTime | EndTime | Estado | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Saturação | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Saturação | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Saturação | 1.000.000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Saturação | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Saturação | 750000 |
... | ... | ... | ... | ... |
Obter as n primeiras linhas
O operador top retorna as primeiras n linhas classificadas pela coluna especificada.
A consulta a seguir retorna as cinco inundações do Texas que causaram a propriedade mais danificada.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Saída
StartTime | EndTime | Estado | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Saturação | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Saturação | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Saturação | 1.000.000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Saturação | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Saturação | 750000 |
Observação
A ordem dos operadores é importante. Se você colocar top
antes where
aqui, você terá resultados diferentes. Isso ocorre porque os dados são transformados por cada operador em ordem. Para saber mais, consulte Instruções de expressão tabular.
Criar colunas calculadas
Os operadores project e extend podem criar colunas calculadas.
Use project
para especificar apenas as colunas que você deseja exibir e use extend
para acrescentar a coluna calculada ao final da tabela.
A consulta a seguir cria uma coluna calculada Duration
com a diferença entre o StartTime
e EndTime
. Como queremos visualizar apenas algumas colunas selecionadas, usar project
é a melhor escolha neste caso.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Saída
StartTime | EndTime | Duration | 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 | 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 |
Se você der uma olhada na coluna calculada Duration
, poderá notar que a inundação que causou mais danos também foi a mais longa.
Use extend
para exibir a coluna calculada Duration
junto com todas as outras colunas. A Duration
coluna é adicionada como a última coluna.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Saída
StartTime | EndTime | ... | Duration |
---|---|---|---|
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 |
Mapear valores de um conjunto para o outro
O mapeamento estático é uma técnica útil para alterar a apresentação de seus resultados. No KQL, uma maneira de executar o mapeamento estático é usando um dicionário dinâmico e acessadores para mapear valores de um conjunto para outro.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Saída
EventId | Origem | FriendlyName |
---|---|---|
68796 | Gerenciador de emergência | Setor Público |
... | ... | ... |
72609 | Concessionária | Privados |
... | ... | ... |
Próxima etapa
Agora que você está familiarizado com os fundamentos de escrever consultas Kusto, vá para o próximo tutorial e aprenda a usar funções de agregação para obter informações mais profundas sobre seus dados.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de