Descubre Databricks SQL Analytics

Última actualización: 26/05/2021

Si te estás preguntando sobre la nueva herramienta de Databricks: SQL Analytics y qué te puede aportar no te preocupes, aquí aprenderás en qué consiste, cuáles son sus características y todas sus ventajas.

Databricks SQL Analytics

¿Qué es Databricks SQL Analytics?

Databricks SQL Analytics es una herramienta que nos permite realizar análisis de datos y operar nuestra arquitectura de Data Warehouse sobre el ecosistema de Databricks. SQL Analytics es accesible desde la interfaz web de Databricks y proporciona un editor de SQL nativo para consultar datos en nuestro Data Lake y Data Warehouse (Lakehouse). También podremos crear directamente visualizaciones, dashboards y configurar alertas. Los usuarios principales son analistas de datos y científicos de datos.

SQL Analytics tiene 4 componentes principales:

  1. Editor SQL: El editor SQL nos permite escribir y almacenar consultas para acceder y explorar nuestros datos. También, podremos crear y compartir visualizaciones y dashboards y crear alertas de cambios.
  2. Conectores de BI y SQL: Los conectores nos permiten integrar otras herramientas como Power BI en nuestros endpoints SQL para establecer accesos optimizados a los datos.
  3. Endpoints SQL: Estos endpoints representan los puntos de acceso a los datos. Son recursos computacionales que permiten ejecutar consultas SQL. También gestionan los accesos a los usuarios, el tamaño de los clústeres de Apache Spark y su concurrencia.
  4. Databricks Delta Engine: Es el motor de consultas que ejecuta en los clústeres de Spark, procesando grandes cantidades de datos en paralelo.

Ventajas de Databricks SQL Analytics

A continuación enumero las ventajas más importantes de la herramienta:

Interfaz de SQL Nativo

Una de las capacidades que se echaban de menos en Databricks es un editor de consultas SQL que permita a los usuarios explorar fácilmente los datos, similar a lo que hace Hue en el ecosistema Hadoop con Hive. Este editor está basado en Redash y tiene autocompletado. En este caso, las tablas se almacenan en formato Delta Lake aunque también admite fuentes de datos como JSON o CSV con operaciones limitadas.

Delta Lake proporciona capacidades adicionales sobre el formato de datos Parquet. Entre estas capacidades se encuentra el soporte a las propiedades ACID, posibilitando transacciones sobre nuestro data lake. También es posible recuperar una versión anterior de un dato o de una tabla (time travel), por lo que resulta muy útil para garantizar el cumplimiento de determinadas regulaciones.

Los resultados de las consultas se pueden almacenar en una caché para reducir los tiempos de respuesta en ejecuciones posteriores. Además, podremos ver las ejecuciones anteriores de una consulta. También es posible guardar consultas y fragmentos de código SQL junto a una descripción para reutilizarlos cuando necesitemos.

Databricks SQL Analytics Editor
Editor de consultas en Databricks SQL Analytics

La interfaz SQL integra también un navegador de esquemas, en el que podremos ver todas las tablas para las que tengamos permisos de lectura.

Visualizaciones, Dashboards y Alertas

A partir de los resultados de las consultas, SQL Analytics nos permite construir y guardar fácilmente visualizaciones. Entre los tipos de visualizaciones incluidos se encuentran los diagramas de cajas, gráficos de barras, de áreas, circulares, Cohort, contadores, embudos, mapas, tablas dinámicas, Sankey, Sunburst y nubes de palabras.

Estas visualizaciones se pueden agrupar en dashboards o paneles con una interfaz gráfica de arrastrar y soltar. Cuando tenemos guardado un dashboard lo podemos compartir y abrir en cualquier navegador.

Estos dashboards también se pueden configurar para que refresquen los datos automáticamente, y establecer alertas automáticas para avisar de los cambios en los datos. De esta forma, podremos realizar un seguimiento fácilmente de nuestros KPIs o indicadores.

Con las alertas deberemos establecer una frecuencia de notificaciones y un destino. Los destinos de alertas soportados son Email. Slack, WebHook, Mattermost, ChatWork, PagerDuty y Google Hangouts Chat.

Administración del lago de datos

En SQL Analytics se crean SQL Endpoints, que son los puntos de acceso a los datos. Estos endpoints se pueden asignar a usuarios o grupos de usuarios y también controlar su tamaño y su concurrencia.

Representan clústeres de Apache Spark desplegados en nuestra suscripción. Los endpoints extienden la capacidad de Delta Lake para manejar los picos de tráfico y la utilización del clúster. Admiten escalado automático estableciendo un tamaño mínimo y un tamaño máximo medido en DBU (Databricks Units), que representan la capacidad de procesamiento por hora. El máximo son 256 workers.

Si un endpoint se encuentra detenido y ejecutamos una consulta, este arranca automáticamente.

SQL Endpoint Databricks SQL Analytics
Configuración del SQL Endpoint en Databricks SQL Analytics

Por otro lado, podremos analizar el uso de estos endpoints por los usuarios de la plataforma y por intervalos de tiempo. También, podremos analizar las consultas que se han realizado y las fases en las que descomponen, para realizar auditorías o solucionar los problemas. Se integra con Azure Active Directory y tiene controles basados en roles.

Integraciones con otras Herramientas

Aunque muchas operaciones y visualizaciones se pueden llevar a cabo en la propia interfaz de la herramienta, también es posible integrar SQL Analytics con otras herramientas de BI con los conectores de Power BI, Tableau, Qlick o MicroStrategy. Podemos usar cualquier cliente compatible con Apache Spark y de esta forma establecer las conexiones a nuestras tablas de datos de Delta Lake.

Además podemos integrar SQL Analytics con bases de datos y servicios de almacenamiento de Azure o AWS como Synapse Analytics, Cosmos DB o ADLS (Azure Data Lake Storage).

Limitaciones de Databricks SQL Analytics

SQL Analytics es una gran opción para complementar nuestro Databricks en la nube, pero debemos tener en cuenta que es una herramienta con sus limitaciones.

Por un lado, SQL Analytics aún no proporciona la capacidad de ejecutar un clúster en múltiples zonas de disponibilidad y balancear automáticamente la carga entre esos endpoints.

Además, las operaciones de escalado de cómputo afectan a la disponibilidad del sistema. Cuando se modifica el tamaño del clúster, este se detiene, por lo que las sesiones abiertas se cierran. Deberemos tener esto en cuenta en nuestra planificación cuando necesitemos editar la capacidad.

Aprende sobre Databricks con estos Cursos y Recursos

Para aprender más sobre Databricks, te recomiendo alguno de estos dos cursos. En mi opinión de los mejores que encontrarás en Udemy para cualquier nivel.

Curso Fundamentos y Spark Core

Fundamentos de Databricks y Spark Core

Este curso es uno de los top ventas de Udemy con 11000 estudiantes y más de 12 horas de vídeo. Te permitirá aprender todos los conceptos fundamentales de Databricks y de Apache Spark para desarrollar trabajos de transformación de datos en la nube.

Curso Databricks para Desarrolladores de Spark

Databricks para Desarrolladores de Spark

Este segundo curso te enseñará todas las funcionalidades de Databricks en AWS y en Azure. Aprenderás a configurar los clústeres de Spark, a ejecutar trabajos y a usar los notebooks con los lenguajes Scala y Python.


¡Echa un ojo a mis listas de reproducción de Big Data y suscríbete al canal de Youtube para no perderte ningún vídeo nuevo!

Si te ayuda el contenido del blog, considera unirte a la lista de correo para estar al día de Big Data y cupones de formación

Deja una respuesta