(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Azure Data Factory
Azure Data Factory 1 min

Mapping Data Flows en ADF: transformaciones ETL visuales sin código

João Barros 07 de February de 2025 1 min de lectura

Los Mapping Data Flows en Azure Data Factory permiten construir transformaciones ETL complejas a través de una interfaz visual, sin escribir código Spark. La ejecución se realiza en un clúster Spark gestionado por Microsoft, con escalabilidad automática.

Anatomía de un Data Flow

Source → [Transformaciones] → Sink

Transformaciones disponibles:
  Select / Rename     — seleccionar y renombrar columnas
  Filter              — filtrar filas por condición
  Derived Column      — crear/modificar columnas con expresiones
  Aggregate           — GROUP BY con funciones de agregación
  Join / Lookup       — unir datasets
  Conditional Split   — dividir el flujo por condición
  Flatten             — desnormalizar estructuras JSON anidadas
  Window              — funciones de ventana (ROW_NUMBER, LAG, etc.)
  Sink                — destino de escritura

Expresión en Derived Column

// Calcular margen y normalizar país
margen_pct: toDecimal((ingresos - coste) / ingresos * 100, 2)
pais_norm:  upper(trim(pais))
fecha_carga: currentTimestamp()
anio_mes:   toString(year(fecha_venta)) + '-' + lpad(toString(month(fecha_venta)), 2, '0')

Aggregate — GROUP BY con múltiples métricas

Group by: pais_norm, anio_mes
Aggregates:
  ingresos_total:   sum(ingresos)
  num_transacciones: count(1)
  ticket_medio:     avg(ingresos)
  max_venta:        max(ingresos)

Debug y rendimiento

// Activar el debug cluster (tarda ~2 min en arrancar)
// Preview de datos en cada transformación — esencial para validar
// Optimizaciones:
  - Source: enable partition → paralelismo en la lectura
  - Sink: set batch size = 10000 para SQL
  - Evitar Cartesian joins (sin condición de join)
  - Use Broadcast para dimensiones pequeñas (< 1GB)

Conclusión

Los Mapping Data Flows hacen accesibles las transformaciones ETL complejas a ingenieros sin experiencia en Spark. Para equipos con analistas SQL, la sintaxis de expresiones es familiar. El trade-off es el arranque lento del clúster Spark — úselos para batches, no para micro-batches frecuentes.

Compartir: