Consideraciones clave antes de transformar datos ETL

Resumen

Antes de escribir una sola línea, la transformación en un proceso ETL exige decisiones de diseño que definen el resultado final. Aquí encontrarás las consideraciones que todo desarrollador de datos debe revisar para que la fase de transformación no se convierta en un cuello de botella, pensado para quienes están construyendo su primer pipeline de datos.

¿Qué debes definir antes de transformar tus datos?

La primera regla es simple: no puedes empezar un proceso sin saber cómo lo vas a terminar. La estructura final de los datos en tu target condiciona absolutamente todo lo que viene después.

Si tienes claro el destino, puedes elegir las librerías y herramientas correctas desde el inicio. Si no lo tienes, vas a reescribir tu código varias veces y eso cuesta tiempo real.

¿Qué es la fase de transformación en ETL? Es el paso intermedio donde limpias, relacionas y das forma a los datos extraídos para que encajen en la estructura final del destino. Sin transformación, los datos llegan crudos y poco útiles.

¿Cómo relacionar distintas fuentes de datos?

Necesitas identificar las llaves que conectan tus fuentes. En un proyecto típico, el código de país y el código de producto funcionan como ese puente entre tablas.

Si no tienes claras las relaciones, haz primero un análisis exploratorio de datos (EDA). Saltarte ese paso te lleva a uniones rotas o duplicadas más adelante.

¿Qué nivel de normalización aplicar?

Ojo aquí: la normalización en este contexto no es la estadística, donde llevas todo a una misma escala. Hablamos de normalización de bases de datos, es decir, cómo estructuras las relaciones entre tablas.

Pregúntate cómo se deberían relacionar datos como los de trades con el resto de tus fuentes. Es posible que no tengan relación directa, y eso también es una decisión válida que debes documentar.

¿Cómo manejar duplicados y datos faltantes en la transformación?

Dos de los problemas más comunes en cualquier pipeline son los registros duplicados y los datos faltantes. Ambos requieren una política definida antes de correr el código.

Con los duplicados, puedes encontrar registros completos repetidos o columnas que no deberían estarlo. Define si vas a eliminarlos, conservar el primero, el último o consolidarlos.

Con los datos faltantes, la pregunta es directa: ¿eliminas el registro o sustituyes el valor? Por ejemplo, si falta el código de país en un data point, decide si ese registro se descarta o si imputas un valor por defecto.

  • Define una política para duplicados antes de transformar.
  • Decide si los datos faltantes se eliminan, se imputan o se marcan.
  • Documenta cada decisión para que el pipeline sea reproducible.

¿Qué hago si un registro tiene datos faltantes? Tienes tres opciones: eliminar el registro, sustituir el valor con una regla (promedio, valor por defecto, último conocido) o marcarlo para revisión manual. La elección depende de qué tan crítico sea ese campo.

¿Qué son las agregaciones y por qué importan?

Las agregaciones son operaciones que resumen datos: sumatorias, máximos, mínimos y promedios calculados sobre un data frame. Equivalen al GROUP BY que usas en SQL o en Pandas.

Son clave porque te permiten enriquecer la información antes de cargarla al destino. En vez de mover datos crudos, mueves datos ya procesados y listos para análisis.

¿Cuáles son las consideraciones clave para transformar datos en ETL?

Resumiendo lo que debes tener mapeado antes de programar:

  1. La estructura final que tendrán los datos en el target.
  2. Las llaves o códigos que relacionan tus fuentes.
  3. El nivel de normalización de base de datos que aplicarás.
  4. La política para manejar duplicados.
  5. La estrategia para datos faltantes.
  6. Las agregaciones necesarias para enriquecer la información.

Con estas decisiones tomadas, el código fluye. Sin ellas, vas a improvisar y los pipelines improvisados se rompen.

Conceptos y habilidades clave de la clase

  • Proceso ETL [0:13]: flujo de extracción, transformación y carga que estructura los datos desde su origen hasta su destino.
  • Estructura final del target [0:24]: definición previa de cómo lucirán los datos en el destino, condición indispensable para elegir herramientas.
  • Relación entre fuentes [0:54]: identificación de llaves comunes como código de país y código de producto para unir tablas.
  • Análisis exploratorio de datos [1:14]: paso previo cuando no tienes claras las relaciones entre tus fuentes.
  • Normalización de bases de datos [1:21]: estructura de relaciones entre tablas, distinta de la normalización estadística.
  • Manejo de duplicados [1:55]: política para registros o columnas repetidas dentro del dataset.
  • Manejo de datos faltantes [2:14]: decisión entre eliminar, sustituir o marcar registros incompletos.
  • Agregaciones con group by [2:38]: operaciones de sumatoria, máximo, mínimo y promedio para enriquecer datos antes de cargarlos.

¿Cuál de estas consideraciones sueles dejar para el final en tus proyectos? Cuéntalo en los comentarios.