Saltar al contenido
Datacon Alex— inicio
YouTube
← Glosario

Ingeniería de datos

ETL

en inglés: Extract, Transform, Load

Mover datos de donde nacen a donde se analizan, limpiándolos en el camino. Primero se extraen, luego se transforman y al final se cargan en el destino.

Un ETL es el trabajo de mudanza de los datos. Nacen en un lugar donde son útiles para operar —el sistema de ventas, la app, el CRM— y tienen que llegar a otro donde sean útiles para analizar. En el camino casi nunca están listos: vienen con fechas en tres formatos, nombres duplicados y columnas que solo entiende quien escribió el sistema.

Las tres letras son las tres etapas.

Extract: sacarlos sin romper nada

Te conectas a la fuente y te llevas los datos. La regla de oro es no estorbarle al sistema del que estás leyendo: si tu consulta tumba la base de producción a las 9 de la mañana, no importa qué tan bonito quedó el dashboard.

-- Extracción incremental: solo lo que cambió desde la última corrida.
-- Traerte la tabla completa cada noche funciona hasta que ya no.
SELECT *
FROM ventas
WHERE actualizado_en >= :ultima_corrida;

Transform: dejarlos usables

Aquí se va la mayor parte del trabajo y del tiempo. Limpiar nulos, unificar formatos, deduplicar, cruzar con catálogos, calcular las métricas que el negocio sí entiende.

Load: dejarlos donde se consultan

Escribes el resultado en el destino, normalmente un data warehouse. Lo importante aquí es que la carga sea idempotente: si corres el mismo proceso dos veces por un reintento, el resultado debe ser idéntico, no el doble de filas.

Cuándo ETL y cuándo ELT

ETL transforma antes de cargar. Tiene sentido cuando el destino es caro o lento, o cuando por regulación no puedes ni depositar el dato crudo.

Hoy, con almacenes que escalan el cómputo por separado, lo común es ELT: cargas crudo primero y transformas ya adentro. Ganas poder volver al dato original cuando la lógica cambia, que cambia siempre.

Siguientes en la fila