Introducción a KustoGetting started with Kusto

Azure Data Explorer es un servicio para almacenar y ejecutar análisis interactivos en macrodatos.Azure Data Explorer is a service for storing and running interactive analytics on big data.

Se basa en sistemas de administración de bases de datos relacionales y admite entidades como bases de datos, tablas y columnas.It's based on relational database management systems, and supports entities such as databases, tables, and columns. Las consultas analíticas complejas se realizan mediante el lenguaje de consulta Kusto.Complex analytical queries are made using the Kusto Query Language. Entre los operadores de consulta se incluyen:Some query operators include:

  • columnas calculadascalculated columns
  • búsqueda y filtrado por filassearching and filtering on rows
  • agregados de agrupacióngroup by-aggregates
  • funciones de combinaciónjoin functions

El servicio ofrece una ingesta de datos y un rendimiento de consultas excelentes:The service offers excellent data ingestion and query performance:

  • Sacrifica la capacidad de realizar actualizaciones locales de filas individuales y restricciones o transacciones entre tablas.It sacrifices the ability to do in-place updates of individual rows and cross-table constraints or transactions.
  • El servicio complementa los sistemas de administración de bases de datos relacionales tradicionales en escenarios como OLTP y el almacenamiento de datos, en lugar de reemplazarlos.The service supplements, rather than replaces, traditional RDBMS systems for scenarios such as OLTP and data warehousing.
  • Los datos estructurados, semiestructurados (por ejemplo, tipos anidados similares a JSON) y no estructurados (texto libre) se gestionan igual de bien.Structured, semi-structured (for example, JSON-like nested types), and unstructured (free text) data are handled equally well.

Interacción con Azure Data ExplorerInteracting with Azure Data Explorer

La forma principal de que los usuarios interactúen con Azure Data Explorer (Kusto):The main way for users to interact with Azure Data Explorer (Kusto):

Consultas de KustoKusto queries

Una consulta es una solicitud de solo lectura para procesar datos y devolver los resultados de este procesamiento, sin modificar los datos o metadatos.A query is a read-only request to process data and return the results of this processing, without modifying the data or metadata. Las consultas de Kusto pueden usar ellenguaje SQL o el lenguaje de consulta de Kusto.Kusto queries can use the SQL language, or the Kusto query language. Como ejemplo de este último, la consulta siguiente cuenta el número de filas de la tabla Logs que tienen un valor en la columna Level igual a la cadenaCritical:As an example for the latter, the following query counts how many rows in the Logs table have a value in the Level column equal to the string Critical:

Logs
| where Level == "Critical"
| count

Nota

Las consultas no pueden empezar por el carácter de punto (.) ni el carácter de hash (#).Queries can't start with the dot (.) character or the hash (#) character.

Comandos de controlControl commands

Los comandos de control son solicitudes a Kusto para procesar y, potencialmente, modificar datos o metadatos.Control commands are requests to Kusto to process and potentially modify data or metadata. Por ejemplo, el siguiente comando de control crea una nueva tabla Kusto con dos columnas, Level y Text:For example, the following control command creates a new Kusto table with two columns, Level and 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.Control commands have their own syntax, which isn't part of the Kusto Query Language syntax, although the two share many concepts. 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).In particular, control commands are distinguished from queries by having the first character in the text of the command be the dot (.) character (which can't start a query). Esta distinción evita muchos tipos de ataques de seguridad, simplemente porque evita la incrustación de comandos de control dentro de las consultas.This distinction prevents many kinds of security attacks, simply because it prevents embedding control commands inside queries.

No todos los comandos de control modifican los datos o metadatos.Not all control commands modify data or metadata. La gran clase de comandos que comienzan por .show se usan para mostrar metadatos o datos.The large class of commands that start with .show, are used to display metadata or data. Por ejemplo, el comando .show tables devuelve una lista de todas las tablas de la base de datos actual.For example, the .show tables command returns a list of all tables in the current database.