¿Qué es un pipeline de datos?
Un pipeline de datos es un proceso automatizado.
Mueve y transforma datos entre diferentes sistemas.
Su objetivo es garantizar que los datos sean recopilados.
Procesados y almacenados de manera eficiente y confiable.
Se usan en Big Data, Inteligencia Artificial, Business Intelligence (BI), análisis de datos, ETL/ELT y más.
Ejemplo:
Una empresa quiere analizar las ventas diarias. Un pipeline de datos
Extraer datos de la tienda online.
Transformarlos, eliminando errores y calculando métricas.
Cargarlos en una base de datos para su análisis.
Tipos de Pipelines de Datos
a) Según el tipo de procesamiento
Batch Processing (por lotes)
Procesa grandes volúmenes de datos.
En intervalos de tiempo definidos cada hora, cada día.
Ejemplo:
Un pipeline que procesa las ventas diarias y genera un informe cada noche.
Herramientas: Apache Spark, AWS Glue, dbt.
Stream Processing en tiempo real
Procesa datos a medida que llegan casi en tiempo real.
Ejemplo:
Un pipeline que detecta fraudes bancarios en cada transacción en milisegundos.
Herramientas: Apache Kafka, Apache Flink, AWS Kinesis.
b) Según el método de transformación de datos
ETL (Extract, Transform, Load)
Extrae datos, los transforma y luego los carga en un destino.
Se usa cuando los datos deben limpiarse antes de ser almacenados.
Ejemplo:
Extraer datos de un CRM, formatearlos y cargarlos.
En un Data Warehouse (Snowflake).
Herramientas: Talend, Apache Airflow, AWS Glue.
ELT (Extract, Load, Transform)
Extrae datos y los carga primero en un Data Lake o Data Warehouse
Los transforma en el destino.
Se usa cuando el almacenamiento es barato.
Prefiere procesar dentro del mismo Data Warehouse.
Ejemplo de pipeline ELT con AWS S3 y BigQuery
Proceso:
Extract: Se extraen logs de usuarios desde una API.
Load: Se almacenan en AWS S3 sin modificaciones.
Transform: Se usa BigQuery para limpiar y analizar los datos.
Caso de uso: Procesamiento de logs de usuarios para análisis en BigQuery.
Herramientas para construir pipelines
Apache Airflow → Orquestación de ETL/ELT en producción.
dbt (Data Build Tool) → Transformaciones en ELT sobre Snowflake, Redshift, BigQuery.
Apache Spark → Procesamiento distribuido para grandes volúmenes de datos.
AWS Glue → ETL serverless en la nube de AWS.
ETL si necesitas transformar antes de cargar Data Warehouses.
ELT si trabajas con Data Lakes
Aprovechar la potencia del almacenamiento.
Herramientas como Airflow, dbt y Spark
Ayudan a automatizar y escalar pipelines.
Ejemplo:
Cargar logs de usuarios en AWS S3 y transformarlos con BigQuery.
Herramientas: dbt, BigQuery, Snowflake.
Componentes de un Pipeline de Datos
Un pipeline de datos tiene 3 fases principales:
Extracción (Extract)
Obtiene datos desde diversas fuentes, como:
Bases de datos PostgreSQL, MySQL, MongoDB.
APIs REST, SOAP.
Archivos CSV, JSON, XML.
Streams de datos en tiempo real.
Ejemplo en Python: Extraer datos de una API
Transformación (Transform)
Limpia, filtra y enriquece los datos.
Eliminar nulos o registros duplicados.
Convertir formatos de fecha.
Unir datasets de diferentes fuentes.
Calcular métricas como ingresos por cliente.
Ejemplo en Python: Limpiar datos con Pandas
Carga (Load)
Guarda los datos en un destino final.
Bases de datos relacionales PostgreSQL, MySQL.
Data Warehouses Snowflake, Redshift, BigQuery.
Data Lakes AWS S3, Azure Data Lake.
Ejemplo en Python: Cargar datos a PostgreSQL
Ejemplo de un Pipeline de Datos
Caso práctico:
Una tienda online quiere analizar las compras de sus clientes.
Extraer datos de la API de ventas.
Transformarlos eliminando registros vacíos.
Calculando el total gastado por cliente.
Cargarlos en una base de datos para análisis.
Herramientas para Pipelines de Datos
| Herramienta | Tipo | Uso principal |
| Apache Airflow | Orquestación | Automatizar y programar ETL/ELT |
| dbt | ELT | Transformaciones en BigQuery, Snowflake, Redshift |
| Apache Spark | Big Data | Procesamiento distribuido de datos |
| AWS Glue | Serverless ETL | ETL en la nube de AWS |
| Kafka | Streaming | Procesamiento de datos en tiempo real |
Los pipelines de datos son esenciales para mover y transformar.
Datos de forma automática.
Pueden ser Batch por lotes o Stream tiempo real.
Pueden seguir un modelo ETL o ELT.
Usan herramientas Airflow, dbt, Spark, AWS Glue y Kafka.
Se pueden implementar en Python, SQL, Spark o herramientas serverless.
1. Apache Airflow → Orquestación de ETL/ELT en producción
Apache Airflow es una herramienta que permite programar y monitorear.
pipelines de datos mediante DAGs grafos acíclicos dirigidos.
Ejemplo práctico:
Un pipeline en Airflow que extrae datos de una API.
Los transforma con Pandas y los carga en PostgreSQL.
Código de un DAG en Apache Airflow
Explicación:
Extrae datos de una API los transforma limpiando los nulos.
Los carga en PostgreSQL.
Cada tarea se ejecuta en secuencia gracias a Airflow.
Se puede programar para que corra.
Automáticamente cada día @daily.
2. dbt (Data Build Tool) → Transformaciones en ELT sobre Snowflake, Redshift, BigQuery
dbt permite hacer transformaciones en SQL directamente.
En el Data Warehouse Snowflake, BigQuery, Redshift.
Ejemplo práctico:
Un modelo en dbt que transforma datos de ventas en BigQuery.
Un modelo dbt en SQL models/sales_clean.sql
Explicación:
Filtra datos de ventas desde 2024.
Calcula el impuesto (tax).
Se ejecuta dentro de BigQuery sin necesidad de mover los datos.
Ejecutar el modelo en dbt
dbt run
Ventaja:
dbt permite versionar transformaciones y hacer pruebas.
Antes de ejecutarlas en producción.
3. Apache Spark → Procesamiento distribuido para grandes volúmenes de datos
Apache Spark es ideal para procesar grandes volúmenes de datos en paralelo.
Ejemplo práctico: Cargar y procesar un archivo CSV con PySpark.
Código en PySpark
Explicación:
Usa Spark para leer un archivo CSV muy grande.
Filtra ventas mayores a 100€.
Funciona en paralelo por lo que es mucho más rápido
Que Pandas en grandes volúmenes de datos.
4. AWS Glue → ETL serverless en la nube de AWS
AWS Glue permite ejecutar ETL sin servidores
Uando Apache Spark en la nube.
Ejemplo práctico:
Un job de Glue que extrae datos de S3
Los limpia y los guarda en Redshift.
Código de un job de AWS Glue en PySpark
Explicación:
Extrae datos desde S3.
Aplica transformación de columnas con ApplyMapping.
Carga en Redshift.
AWS Glue es serverless, por lo que no necesitas configurar servidores.
| Herramienta | Uso principal | Mejor para |
| Apache Airflow | Orquestación de ETL/ELT | Pipelines en producción |
| dbt | Transformaciones ELT | Snowflake, Redshift, BigQuery |
| Apache Spark | Procesamiento distribuido | Big Data |
| AWS Glue | ETL serverless | Procesos en la nube (AWS) |














