Las herramientas de ETL (Extract, Transform, Load) y Data Integration
Tienen un papel clave en Data Science y Business Intelligence (BI)
Permiten la recolección, transformación y carga de datos.
En plataformas de almacenamiento como Data Warehouses o Data Lakes.
Estas herramientas aseguran que los datos estén limpios, estructurados y listos
Análisis y modelos de Machine Learning.
Fivetran
Airbyte
dbt (Data Build Tool)
Cada una tiene características únicas y casos de uso específicos.
Fivetran
Fivetran es una plataforma de ETL automatizado y sin código
Permite conectar diversas fuentes de datos a Data Warehouses
Google BigQuery, Snowflake o Amazon Redshift.
Características Clave
Integración rápida y sin código
Con más de 300 conectores preconfigurados.
Automatización de la extracción y carga de datos sin intervención manual.
Transformaciones básicas con dbt para limpieza de datos.
Gestión automática de esquemas y datos en tiempo real.
Ejemplo Práctico: Integración de datos de ventas en Snowflake
Empresa de e-commerce usa Shopify, Google Analytics y Stripe
Procesar ventas con Fivetran.
Se pueden extraer y centralizar estos datos.
En Snowflake sin escribir código.
Se configura Fivetran y se conectan las fuentes de datos.
Shopify, Analytics, Stripe.
Se define el destino en Snowflake.
Fivetran automatiza la extracción y carga de datos continuamente.
Beneficio:
Se obtienen datos centralizados en tiempo real sin necesidad de programación.
Airbyte
Airbyte es una herramienta open-source de ETL y ELT (Extract, Load, Transform)
Permite mover datos desde múltiples fuentes.
Data Warehouses con alta flexibilidad.
Características Clave
Código abierto y flexible
Se pueden crear conectores personalizados.
Más de 350 conectores para bases de datos, APIs, CRMs, etc.
Ejecuta cargas incrementales para optimizar costos y rendimiento.
Compatible con dbt para transformaciones avanzadas.
Ejemplo Práctico: Carga de datos desde PostgreSQL a BigQuery
Startup tiene una base de datos en PostgreSQL
Analizar los datos en Google BigQuery.
Se instala Airbyte en un servidor o en la nube.
Se configura PostgreSQL como fuente y BigQuery como destino.
Se programa la sincronización cada hora.
Airbyte extrae y carga los datos automáticamente.
Beneficio:
Se pueden integrar múltiples fuentes de datos sin costo de licencias.
dbt (Data Build Tool)
dbt es una herramienta centrada en la transformación de datos
Dentro de Data Warehouses
Permitiendo escribir código SQL modular y reutilizable.
Características Clave
Transformaciones en SQL dentro del Data Warehouse.
Versionado y pruebas automáticas en modelos de datos.
Compatible con BigQuery, Redshift y Snowflake.
Optimización del rendimiento en consultas.
Ejemplo Práctico: Transformación de datos de clientes en Redshift
Supongamos que una empresa SaaS.
Tiene datos de clientes en Amazon Redshift
Quiere limpiar y estructurar estos datos.
Se instala dbt y se conecta con Redshift.
Se crea un modelo SQL para limpiar los datos:
SELECT
customer_id,
LOWER(TRIM(email)) AS email_normalizado,
CASE WHEN status IN (‘Active’, ‘Subscribed’) THEN ‘Activo’ ELSE ‘Inactivo’ END AS estado_cliente
FROM raw.customers;
dbt ejecuta el modelo y almacena los datos en una nueva tabla lista para análisis.
Beneficio:
Se pueden crear modelos de datos reutilizables sin afectar los datos originales.
Comparación de Herramientas
| Herramienta | Uso Principal | Modelo de Pago | Transformaciones |
| Fivetran | ETL sin código | Pago por volumen de datos | Básicas con dbt |
| Airbyte | ETL Open-Source | Gratis (versión OSS) | Avanzadas con dbt |
| dbt | Transformación de datos | Open-source y pago | SQL avanzado |
Si buscas una solución ETL lista para usar → Fivetran
Si prefieres una alternativa open-source y flexible → Airbyte
Si necesitas transformar datos dentro del Data Warehouse → dbt
Implementación Práctica de Fivetran, Airbyte y dbt
Proyecto práctico utilizando Fivetran, Airbyte y dbt
Extraer, transformar y analizar datos de clientes y ventas.
En un entorno Data Warehouse Google BigQuery, Amazon Redshift o Snowflake.
Escenario del Proyecto
Una empresa SaaS quiere analizar la retención de clientes y ventas
Utilizando datos de múltiples fuentes.
Shopify, Stripe y PostgreSQL
ETL con Fivetran → Extraemos y cargamos los datos desde Shopify y Stripe a Snowflake.
ETL con Airbyte → Movemos datos de PostgreSQL a Snowflake.
Transformación con dbt → Limpiamos y estructuramos los datos para análisis de retención y ventas.
Implementación de ETL con Fivetran
Objetivo:
Extraer datos de Shopify (ventas) y Stripe (pagos) y almacenarlos en Snowflake.
Pasos / Configuración
Crear una cuenta en Fivetran y acceder al panel.
Agregar una fuente de datos (Shopify, Stripe)
En Fivetran, hacer clic en «Add Connector».
Seleccionar Shopify y Stripe.
Conectar con las credenciales API de Shopify y Stripe.
Definir destino en Snowflake
Seleccionar Snowflake como destino.
Configurar el acceso con usuario, contraseña y warehouse.
Ejecutar la sincronización inicial para cargar datos en Snowflake.
Verificación en Snowflake
Después de la carga de datos podemos verificar.
Los datos están en Snowflake con una consulta SQL:
SELECT order_id, customer_id, total_price, created_at
FROM fivetran_shopify.orders
ORDER BY created_at DESC;
Beneficio:
Los datos de Shopify y Stripe ahora están centralizados.
En Snowflake sin escribir código.
Implementación de ETL con Airbyte
Objetivo:
Extraer datos de PostgreSQL (base de datos interna de clientes)
Cargarlos en Snowflake.
Pasos
Configuración
Instalar Airbyte (si es en local, se usa Docker)
git clone https://github.com/airbytehq/airbyte.git
cd airbyte
docker-compose up
Acceder a la UI de Airbyte (http://localhost:8000/).
Configurar la fuente de datos (PostgreSQL)
Seleccionar PostgreSQL como fuente.
Ingresar las credenciales:
Host: database.company.com
Usuario: admin
Contraseña: password
Base de datos: customers_db
Configurar destino en Snowflake
Seleccionar Snowflake como destino.
Configurar credenciales.
Programar la sincronización cada 6 horas.
Verificación en Snowflake
Podemos validar que los datos se han cargado correctamente en Snowflake:
SELECT customer_id, name, email, subscription_status
FROM airbyte_postgresql.customers
WHERE subscription_status = ‘active’;
Beneficio:
Podemos automatizar la sincronización de datos desde PostgreSQL sin desarrollos manuales.
Implementación de Transformaciones con dbt
Objetivo:
Limpiar y transformar datos en Snowflake para analizar retención de clientes y ventas.
Pasos
Instalación de dbt
Instalar dbt Core (si no está instalado):
pip install dbt-snowflake
Configurar conexión con Snowflake en el archivo profiles.yml:
snowflake_project:
target: dev
outputs:
dev:
type: snowflake
account: company.snowflakecomputing.com
user: admin
password: password
database: ANALYTICS
warehouse: COMPUTE_WH
schema: dbt_models
Crear modelo SQL en dbt para limpiar datos de clientes (models/customer_analysis.sql):
WITH cleaned_customers AS (
SELECT
customer_id,
LOWER(TRIM(email)) AS email_normalizado,
CASE
WHEN subscription_status IN (‘Active’, ‘Subscribed’) THEN ‘Activo’
ELSE ‘Inactivo’
END AS estado_cliente
FROM airbyte_postgresql.customers
)
SELECT * FROM cleaned_customers;
Ejecutar el modelo dbt:
dbt run
Verificar resultados en Snowflake:
SELECT * FROM dbt_models.cleaned_customers WHERE estado_cliente = ‘Activo’;
Beneficio:
Los datos de clientes ahora están limpios y estructurados para análisis en BI.
Análisis Final en Snowflake (BI Ready)
Después de ejecutar los procesos de ETL con Fivetran y Airbyte y Transformaciones con dbt
Los datos están listos para análisis en Tableau, Power BI o Looker.
Ejemplo: Análisis de Retención de Clientes
SELECT
estado_cliente,
COUNT(customer_id) AS total_clientes
FROM dbt_models.cleaned_customers
GROUP BY estado_cliente;
| Herramienta | Uso en el Proyecto | Beneficio Clave |
| Fivetran | ETL de Shopify y Stripe | ETL sin código |
| Airbyte | ETL de PostgreSQL | ETL open-source y flexible |
| dbt | Transformación de datos en Snowflake | Limpieza y modelado en SQL |





