👀 Views en Databricks: reutilizando consultas SQL de forma eficiente
- hace 1 día
- 2 min de lectura
Introducción
A medida que los proyectos de Data Engineering crecen, las consultas SQL suelen volverse más complejas. Es común trabajar con múltiples JOIN, agregaciones, subconsultas y funciones de ventana, haciendo que la lógica sea difícil de mantener y reutilizar.
Para resolver este problema, Databricks incorpora las Views, un mecanismo que permite encapsular consultas SQL y reutilizarlas posteriormente como si fueran tablas. Un aspecto importante es que una vista no almacena datos físicamente. Su función consiste en guardar la consulta para facilitar su reutilización y mantenimiento.
Tipos de Views en Databricks
Databricks ofrece tres tipos principales de vistas, cada una pensada para un escenario específico.
📚 Persistent View
Forma parte de Unity Catalog y permanece disponible hasta que sea eliminada.
Es una excelente opción para consultas reutilizadas con frecuencia, modelos analíticos o información compartida entre distintos usuarios.
⏳ Temporary View
Existe únicamente durante la sesión actual de Spark.
Resulta ideal para procesos intermedios, pruebas y desarrollo dentro de notebooks, ya que desaparece automáticamente al finalizar la sesión.
🌐 Global Temporary View
También es temporal, pero puede compartirse entre distintos notebooks mientras la aplicación Spark permanezca activa.
Es especialmente útil cuando varios procesos necesitan reutilizar resultados temporales sin crear objetos permanentes dentro del catálogo.
Conclusión
Las tres variantes tienen el mismo objetivo: reutilizar consultas SQL y simplificar el desarrollo. La diferencia principal radica en su alcance y persistencia:
📚 Persistent View para objetos permanentes dentro del Lakehouse.
⏳ Temporary View para procesos temporales durante una sesión.
🌐 Global Temporary View para compartir resultados temporales entre notebooks.
📌 En el notebook asociado a esta práctica muestro la creación de cada tipo de vista, sus diferencias y los escenarios donde resulta más conveniente utilizar cada una (Repositorio-GitHub).


Comentarios