Introducción al lenguaje de consulta kusto (KQL)
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
El lenguaje de consulta Kusto (KQL) es una herramienta eficaz para explorar los datos y detectar patrones, identificar anomalías y valores atípicos, crear modelado estadístico, etc. KQL es un lenguaje sencillo y eficaz para consultar datos estructurados, semiestructurados y no estructurados. El lenguaje es expresivo, fácil de leer y comprender la intención de consulta y está optimizado para experiencias de creación. El lenguaje de consulta kusto es óptimo para consultar datos de telemetría, métricas y registros con compatibilidad profunda con búsqueda de texto y análisis, operadores y funciones de serie temporal, análisis y agregación, geoespaciales, búsquedas de similitud de vectores y muchas otras construcciones de lenguaje que proporcionan el lenguaje más óptimo para el análisis de datos. La consulta usa entidades de esquema organizadas en una jerarquía similar a las SQL: bases de datos, tablas y columnas.
En este artículo se proporciona una explicación del lenguaje de consulta y se ofrecen ejercicios prácticos para empezar a escribir consultas. Para acceder al entorno de consulta, use la interfaz de usuario web de Azure Data Explorer . Para obtener información sobre cómo usar KQL, consulte Tutorial: Obtenga información sobre los operadores comunes.
En este artículo se proporciona una explicación del lenguaje de consulta y se ofrecen ejercicios prácticos para empezar a escribir consultas. Para acceder al entorno de consulta, use el conjunto de consultas KQL de . Para obtener información sobre cómo usar KQL, consulte Tutorial: Obtenga información sobre los operadores comunes.
¿Qué es una consulta de Kusto?
Una consulta de Kusto es una solicitud de solo lectura para procesar datos y devolver resultados. La solicitud se indica en texto sin formato, mediante un modelo de flujo de datos que es fácil de leer, crear y automatizar. Las consultas de Kusto se realizan de una o varias instrucciones de consulta.
¿Qué es una instrucción de consulta?
Hay tres tipos de instrucciones de consulta de de usuario:
- instrucción de expresión tabular
- instrucción let
- una instrucción set de
Todas las instrucciones de consulta están separadas por un ;
(punto y coma) y solo afectan a la consulta a mano.
Nota
Para obtener información sobre las instrucciones de consulta de aplicación, consulte instrucciones de consulta de aplicación.
El tipo de instrucción de consulta más común es una expresión tabular instrucción, lo que significa que su entrada y salida constan de tablas o conjuntos de datos tabulares. Las instrucciones tabulares contienen cero o más operadores de , cada una de las cuales comienza con una entrada tabular y devuelve una salida tabular. Los operadores se secuencian mediante una |
(canalización). Los flujos de datos, o se canalizan, de un operador a otro. Los datos se filtran o manipulan en cada paso y, a continuación, se introducen en el paso siguiente.
Es como un embudo, donde empieza con una tabla de datos completa. Cada vez que los datos pasan a través de otro operador, se filtran, reorganizan o resumen. Dado que la canalización de información de un operador a otro es secuencial, el orden del operador de consulta es importante y puede afectar tanto a los resultados como al rendimiento. Al final del embudo, se le deja una salida refinada.
Echemos un vistazo a una consulta de ejemplo.
Ejecutar el de consulta
StormEvents
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"
| count
Contar |
---|
28 |
Nota
KQL distingue mayúsculas de minúsculas para todo: nombres de tabla, nombres de columna de tabla, operadores, funciones, etc.
Las palabras clave se pueden usar como identificadores encerrandolas entre corchetes y comillas (['
y ']
o ["
y "]
). Por ejemplo, ['where']
. Para obtener más información, consulte reglas de nomenclatura de identificadores
Esta consulta tiene una sola instrucción de expresión tabular. La instrucción comienza con una referencia a una tabla denominada stormEvents y contiene varios operadores, where
y count
, cada uno separado por una canalización. Las filas de datos de la tabla de origen se filtran por el valor de
Para probar algunas consultas de Kusto más, consulte Tutorial: Escritura de consultas de Kusto.
Comandos de administración
A diferencia de las consultas de Kusto, los comandos de administración de son solicitudes a Kusto para procesar o modificar datos o metadatos. Por ejemplo, el siguiente comando de administración crea una nueva tabla de Kusto con dos columnas, Level
y Text
:
.create table Logs (Level:string, Text:string)
Los comandos de administración tienen su propia sintaxis, que no forma parte de la sintaxis del lenguaje de consulta kusto, aunque los dos comparten muchos conceptos. En concreto, los comandos de administración se distinguen de las consultas haciendo que el primer carácter del texto del comando sea el carácter punto (.
) (que no puede iniciar una consulta).
Esta distinción evita muchos tipos de ataques de seguridad, simplemente porque impide la inserción de comandos de administración dentro de las consultas.
No todos los comandos de administración modifican datos o metadatos. La clase grande de comandos que comienzan por .show
, se usan para mostrar metadatos o datos. Por ejemplo, el comando .show tables
devuelve una lista de todas las tablas de la base de datos actual.
Para obtener más información sobre los comandos de administración, consulte Introducción a los comandos de administración.
KQL en otros servicios
KQL lo usan muchos otros servicios de Microsoft. Para obtener información específica sobre el uso de KQL en estos entornos, consulte los vínculos siguientes:
- consultas de registro de en azure Monitor
- lenguaje de consulta Kusto en microsoft Sentinel
- Descripción del lenguaje de consulta de Azure Resource Graph
- búsqueda proactiva de amenazas con búsqueda avanzada en Microsoft 365 Defender
- consultas CMPivot
Contenido relacionado
- Tutorial de : Información sobre operadores comunes
- Tutorial de : Uso de funciones de agregación
- referencia rápida de KQL
- hoja de referencia rápida de SQL al lenguaje de consulta kusto
- procedimientos recomendados de consulta de