🎯✍️ OverWriting Strategies: Estrategias de Sobre-Escritura en Delta Lake - 1
- 8 ago
- 2 min de lectura
Hasta ahora hemos explorado diferentes formas de escribir información en Delta Tables, tanto desde fuentes externas como desde archivos almacenados dentro de Databricks.
Pero en un escenario real aparece una pregunta fundamental:
🤔 ¿Siempre debemos actualizar una Delta Table de la misma manera?
La respuesta es no, la estrategia de escritura dependerá del proceso, el volumen de información, la frecuencia de actualización y el comportamiento que necesitemos sobre los datos. Por ello, en este bloque comenzaremos a explorar tres estrategias:
🗑️ DROP & RECREATE TABLE
🔄 INSERT OVERWRITE
🔀 MERGE + Slowly Changing Dimensions (SCD)
Cada una responde a escenarios diferentes y presenta sus propias ventajas y limitaciones.
🗑️ DROP & RECREATE TABLE
Comenzaremos por la estrategia más sencilla, y, como su nombre indica, consiste en:
🗑️ Eliminar la tabla existente.
🔄 Crear nuevamente la tabla.
📥 Escribir la nueva información.
Es decir, en lugar de modificar la Delta Table existente, eliminamos su definición actual y construimos una nueva desde cero. Pero: ¿Cuál es el problema?
Aunque el proceso es sencillo, esta estrategia tiene una consecuencia importante:
se pierde la continuidad del historial de la tabla.
Al eliminar la tabla original, dejamos de disponer de características asociadas a ese historial, como:
🕐 Time Travel
📜 Historial de transacciones
🔄 Versionamiento
Por lo tanto, DROP & RECREATE puede permitirnos obtener rápidamente una tabla con información actualizada, pero a costa de perder el historial anterior. Por ende, debemos recordar qué, en una arquitectura basada en Delta Lake, no se trata únicamente de conseguir que la tabla tenga los datos más recientes.
Sino, considerar qué ocurre con el historial y las versiones existentes. Por ello, antes de utilizar DROP & RECREATE, debemos evaluar si realmente necesitamos reconstruir la tabla desde cero o si existe una estrategia que nos permita actualizarla conservando las capacidades de Delta Lake.
En los siguientes capítulos continuaremos con:
🔄 INSERT OVERWRITE y posteriormente:
🔀 MERGE + Slowly Changing Dimensions (SCD)
🔥 La elección de la estrategia de escritura también forma parte del diseño de un buen pipeline de Data Engineering (Repositorio-GitHub).


Comentarios