Introducción a las consultas Kusto

Una consulta de Kusto es una solicitud de solo lectura para procesar los datos y devolver resultados. La solicitud se indica con un texto sin formato, mediante un modelo de flujo de datos diseñado para simplificar la lectura, creación y automatización de la sintaxis. La consulta usa entidades de esquema organizadas es una jerarquía similar a las de las bases de datos, tablas y columnas de SQL.

La consulta consta de una secuencia de instrucciones de consulta, delimitadas por un punto y coma ( ), donde al menos una instrucción es una instrucción de expresión tabular que es una instrucción que genera datos organizados en una malla de columnas y filas de tipo ; tabla. ; Las instrucciones de expresión tabular de la consulta generan los resultados de la consulta.

La sintaxis de la instrucción de expresiones tabulares tiene un flujo de datos tabulares desde un operador de consultas tabulares a otro, empezando por el origen de datos (por ejemplo, una tabla en una base de datos o un operador que genera datos) y, después, pasando por un conjunto de operadores de transformación de datos que se unen mediante el delimitador de barra vertical (|).

Por ejemplo, la siguiente consulta de Kusto tiene una sola instrucción, que es una instrucción de expresiones tabulares. La instrucción se inicia con una referencia a una tabla denominada StormEvents (la base de datos que hospeda esta tabla está implícita y forma parte de la información de conexión). Después, los datos (filas) de esa tabla se filtran por el valor de la columna StartTime y, luego, según el valor de la columna State. Después, la consulta devuelve el recuento de filas que "sobreviven".

StormEvents 
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| where State == "FLORIDA"  
| count 

Ejecute esta consulta para ver el resultado:

Count
23

Comandos de control

Al contrario que las consultas Kusto, los comandos de control son solicitudes que se realizan a Kusto para procesar y, potencialmente, modificar datos o metadatos. Por ejemplo, el siguiente comando de control crea una nueva tabla Kusto con dos columnas, Level y Text:

.create table Logs (Level:string, Text:string)

Los comandos de control tienen su propia sintaxis, que no forma parte de la sintaxis del lenguaje de consulta Kusto, aunque ambas comparten muchos conceptos. En concreto, los comandos de control se distinguen de las consultas en que el primer carácter del texto del comando es un punto (.) (que no puede iniciar una consulta). Esta distinción evita muchos tipos de ataques de seguridad, simplemente porque evita la incrustación de comandos de control dentro de las consultas.

No todos los comandos de control modifican los datos o metadatos. La gran clase 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.

Pasos siguientes