Tutorial: Aprender operadores comuns
Linguagem de Consulta Kusto (KQL) é usado para gravar consultas no Azure Data Explorer, no Log Analytics do Azure Monitor, no Azure Sentinel e muito mais. Este tutorial é uma introdução aos operadores KQL essenciais usados para acessar e analisar seus dados.
Observação
Não encontrou o que você está procurando? Este artigo foi dividido recentemente, da seguinte maneira:
- 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 Azure Active Directory para entrar no cluster de ajuda
Contar linhas
Comece usando o operador count para localizar o número de registros de tempestade na StormEvents
tabela.
StormEvents
| count
Saída
Contagem |
---|
59066 |
Veja um exemplo de dados
Para ter uma noção dos dados, use o operador take para exibir um exemplo de registros. Esse operador retorna um número especificado de linhas arbitrárias da tabela, o que pode ser útil para visualizar a estrutura de dados geral e o conteúdo.
StormEvents
| take 5
A tabela a seguir mostra apenas 6 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 | ... |
2007-12-30T16:00:00Z | 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 exibir 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/Congelar |
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 storm em um específico State
de um específico EventType
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Há 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 linhas superiores
O operador superior 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, obterá resultados diferentes. Isso ocorre porque os dados são transformados por cada operador na ordem. Para saber mais, confira instruções de expressão tabular.
Criar colunas calculadas
Os operadores de projeto e de extensão 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
o . Como queremos exibir apenas algumas colunas selecionadas, usar project
é a melhor opção nesse caso.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Saída
StartTime | EndTime | Duração | 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 computada Duration
, poderá observar que a inundação que causou mais danos também foi a inundação 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 dos 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
EpisodeId | Fonte | FriendlyName |
---|---|---|
68796 | Gerenciador de emergência | Público |
... | ... | ... |
72609 | Empresa de Serviços Públicos | Privado |
... | ... | ... |
Próximas etapas
Agora que você está familiarizado com o essencial da gravação de consultas Kusto, vá para o próximo tutorial e saiba como usar funções de agregação para obter informações mais profundas sobre seus dados.
Comentários
Enviar e exibir comentários de