🏗️ Managed Tables vs External Tables en Databricks
- 23 jun
- 2 min de lectura
Introducción
Una vez comprendido cómo funcionan Delta Lake y Unity Catalog, aparece una de las decisiones más importantes al momento de crear tablas en Databricks:
👉 ¿Managed Table o External Table?
Aunque muchas personas piensan que la diferencia está relacionada con el formato de almacenamiento, la realidad es otra. La principal diferencia radica en quién administra los archivos físicos de la información.
📦 Managed Tables
Las Managed Tables son tablas donde Databricks administra tanto los metadatos registrados en Unity Catalog como los archivos físicos almacenados en Delta Lake. Esto significa que Databricks controla completamente el ciclo de vida de la tabla.
Si la tabla es eliminada:
❌ Se eliminan los metadatos.
❌ Se eliminan los archivos físicos asociados.
Por ello suelen ser una excelente opción cuando queremos delegar completamente la administración del almacenamiento a Databricks.
🌎 External Tables
Las External Tables funcionan de manera diferente, en este caso, Databricks administra únicamente los metadatos registrados en Unity Catalog. Los datos físicos permanecen almacenados en ubicaciones externas como:
Amazon S3
Azure Data Lake Storage (ADLS)
Google Cloud Storage (GCS)
Si la tabla es eliminada:
❌ Se eliminan los metadatos.
✅ Los archivos físicos permanecen intactos.
Esto permite desacoplar la definición lógica de la tabla del almacenamiento físico.
Requisitos para trabajar con External Tables
Antes de registrar una tabla externa, Unity Catalog necesita conocer:
Cómo autenticarse contra el almacenamiento.
Dónde se encuentran físicamente los datos.
Para ello se utilizan dos objetos fundamentales:
🔐 Storage Credential
📍 External Location
Estos elementos permiten conectar de forma segura Unity Catalog con el almacenamiento externo.
Conclusión
La decisión entre Managed y External Tables no depende del formato de los datos. La verdadera pregunta es:
👉 ¿Quién será responsable de administrar el almacenamiento físico de la información?
Si Databricks administra tanto metadatos como archivos, hablamos de una Managed Table. Por otro lado, si Databricks administra únicamente los metadatos y los datos permanecen fuera de su control directo, hablamos de una External Table.
📌 En el notebook asociado a esta práctica muestro paso a paso la creación de ambos tipos de tablas.


Comentarios