Azure Data Explorer y el lenguaje de consulta Kusto
Bienvenidos a un nuevo post en el mejor blog de SQL Server. En la entrada de hoy hablaremos sobre Azure Data Explorer, la plataforma de análisis de datos administrada de Azure. Pero primero, os explicaré qué es y cómo funciona.
¡Empezamos!
¿Qué es Azure Data Explorer?
Azure Data Explorer es un plataforma de análisis de datos administrada, con un rendimiento excelente y totalmente escalable que nos permite el estudio de grandes cantidades de datos casi en tiempo real. El origen de dichos datos pueden ser tan diversos como son aplicaciones, sitios web o incluso dispositivos IoT.
A través del análisis de datos y el Machine Learning, Azure Data Explorer nos hace más fácil la extracción de conclusiones, la detección de patrones y tendencias y la creación de modelos de previsión.
¿Cuándo utilizar Azure Data Explorer?
Azure Data Explorer es un servicio totalmente optimizado que nos será de gran utilidad especialmente en los siguientes casos:
- Cuando es requisito de la solución que sea interactiva. Es decir, facilitar a personas no expertas el análisis de situaciones complejas representadas en forma de datos.
- En casos en los que exista grandes cantidades de datos y tratarlos en tiempo real.
- Si no dispone de datos procesados.
- Cuando existen simultaneidad de consultas.
- En casos en los que se quiera personalizar la plataforma de datos.
¿Qué hace especial a Azure Data Explorer?
Enfocado a datos
Se puede consultar grandes volúmenes de datos y obtener resultados casi al instante. Azure Data Explorer proporciona, además, alta velocidad, baja latencia e ingesta de datos sin procesar, es decir, datos en diferentes formatos y estructuras, que proceden de varios y diversos orígenes.
Herramientas para el análisis avanzado
Azure Data Explorer permite el análisis de series temporales con un gran conjunto de herramientas como la agregación o la resta de series temporales, filtrados, regresiones, análisis geoespacial, detección de anomalías, examen y previsión. Estas herramientas están optimizadas para procesar miles de datos en cuestión de segundos.
Asistente intuitivo de ingesta de datos
El asistente de ingesta de datos es sencillo, rápido y fácil de utilizar. Dispone de una experiencia guiada que ayuda al usuario a ingerir datos y crear y asignar de manera automática estructuras, como tablas o esquemas. Además, permite la ingesta de datos de manera continua o única desde varios orígenes con formatos de datos diversos. Incluye también exportación continua a Azure Data Lake Store.
Visualización de datos
La visualización de datos es un aspecto clave para que el usuario pueda sacar conclusiones importantes. Azure Data Explorer permite la creación y visualización de paneles con compatibilidad con otras plataformas como Microsoft Power BI, conectores nativos para Grafana y compatibilidad con ODBC para Tableau.
Lenguaje de consulta
Se utiliza el lenguaje de consulta Kusto (KQL), de código abierto que inventó el equipo de desarrollo, para recopilar información sobre Azure Data Explorer. De fácil comprensión y aprendizaje, es un lenguaje altamente productivo que puede utilizar operadores simples y análisis avanzados. Incluso se puede insertar código Python en consultas KQL con el objetivo de ampliar funcionalidades.
Casos Prácticos
Ahora que ya sabemos qué es y cómo funciona tanto Azure Data Explorer como el Lenguaje Kusto, os voy a enseñar algunos ejemplos prácticos de consultas de la plataforma de datos administrada.
Caso Práctico 1: Consultas de Kusto
Se utiliza la base de datos StormEvents, que es la base de datos oficial de la NOAA’s National Weather Service (NWS). Dicha base de datos recoge eventos climatológicos desde enero de 1950 a julio de 2022.
En el script anterior se realiza un conteo de los eventos por ubicación y se genera un gráfico con el top 10 de las ubicaciones donde han ocurrido más eventos.
Resultado:
Caso Práctico 2: Inserción de código Python en Kusto Query Language
Es posible recoger métricas internas de Azure para generar gráficos donde se muestre la evolución del porcentaje de uso de CPU, por ejemplo.
Caso Práctico 3: Recogida de métricas sobre el uso de CPU con KQL
Caso Práctico 4: KQL y SQL
Para facilitar la transición y el aprendizaje, es posible utilizar Kusto para traducir consultas SQL a KQL.
Y lo que de verdad está ejecutando:
Y para finalizar el post, me gustaría compartiros algunas equivalencias entre SQL y su igual en KQL.
Instrucción | SQL | KQL |
Selección de todos los datos de una tabla | SELECT * FROM dependencies | Dependencias |
Selección de algunas columnas de una tabla | SELECT name, resultCode FROM dependencies | Dependencies | project name, resultCode |
Comparaciones | SELECT * FROM dependencies WHERE type = “Azure Blog” | Dependencies | where type == “Azure Blog” |
Agregación | SELECT AVG(duration) FROM dependencies GROUP BY name | Dependencies | summarize avg(duration) by name |
Join | SELECT * FROM dependencies LEFT JOIN exception ON dependencies.operation_Id = exceptions.operation_Id | Dependencies | join kind = lefouter (exceptions) on $left.operation_Id == $right.operation_Id |
Top n por agregación | SELECT TOP 100 name, COUNT(*) as Count FROM dependencies GROUP BY name ORDER BY Count DESC | Dependencies | summarize Count = count() by name | top 100 by Count desc |
Y con esta tabla, damos por finalizada la entrada de hoy. Espero que os sea de ayuda a la hora de empezar a utilizar Azure Data Explorer.
Si te interesa la tecnología Microsoft y estas empezando en el mundo de Azure, no puedes perderte estos posts:
Cómo crear tareas automatizadas en Azure para Máquinas Virtuales
Utiliza Azure como DRP para tu VMware
Mejora aún más el rendimiento de Managed Instance
Y si necesitas ayuda en tu proyecto de Migración de Cargas de Trabajo a la nube, visita nuestra página de Azure para Empresas.
DBA SQL Server with 5 years of experience. Although I have advanced knowledge in various areas of SQL Server, I am also currently discovering MongoDB.