🎯✍️ OverWriting Strategies: Estrategias de Sobre-Escritura en Delta Lake - 3
- hace 3 días
- 2 min de lectura
Después de revisar DROP & RECREATE e INSERT OVERWRITE, llegamos a una de las operaciones más importantes cuando necesitamos sincronizar información entre tablas:
🔀 MERGE
Si hemos trabajado anteriormente con SQL Server, PostgreSQL u otros motores relacionales, probablemente este concepto nos resulte familiar. La principal característica de
es que permite combinar diferentes operaciones sobre una tabla destino:
➕ INSERT
🔄 UPDATE
🗑️ DELETE
Todo a partir de la comparación entre una tabla origen y una tabla destino.
🎯 ¿Cómo funciona?
Normalmente realizamos la comparación utilizando una clave que permita identificar cada registro, como una Primary Key. A partir de esa comparación podemos determinar qué debe ocurrir:
TABLA ORIGEN
│
▼
🔍 Comparar con
│
▼
TABLA DESTINO
│
┌─────────┼─────────┐
▼ ▼ ▼
MATCHED NOT MATCHED NOT MATCHED
BY SOURCE
│ │ │
▼ ▼ ▼
UPDATE INSERT DELETEDe esta manera, MERGE permite mantener sincronizada la información de una tabla destino respecto a una tabla origen.
🧩 Las tres condiciones principales
🔄 WHEN MATCHED
El registro existe tanto en la tabla origen como en la tabla destino, aquí utilizaríamos UPDATE para modificar la información existente.
➕ WHEN NOT MATCHED
El registro existe en la tabla origen, pero no en la tabla destino, aquí utilizaríamos INSERT para agregarlo.
🗑️ WHEN NOT MATCHED BY SOURCE
El registro existe en la tabla destino, pero ya no existe en la tabla origen, aquí utilizaríamos DELETE para eliminarlo.
🧠 MERGE en pocas palabras
Podemos resumirlo así:
Condición | Significado | Acción |
🔄 WHEN MATCHED | Existe en origen y destino | UPDATE |
➕ WHEN NOT MATCHED | Existe en origen, pero no en destino | INSERT |
🗑️ WHEN NOT MATCHED BY SOURCE | Existe en destino, pero no en origen | DELETE |
🎯 En pocas palabras:
MERGE permite comparar, detectar diferencias y aplicar INSERT, UPDATE o DELETE dentro de una misma operación.
Y justamente por esta capacidad se convierte en una pieza fundamental para los procesos de sincronización y actualización de Delta Tables. Pero aquí recién empieza lo interesante (Repositorio-GitHub).
El siguiente paso será combinar MERGE con un concepto fundamental de Data Warehousing: 📈 Slowly Changing Dimensions (SCD)


Comentarios