Skip to main content
dbtSnowflake

dbt External Tables: integrando datos externos en proyectos dbt

By marzo 8, 2024septiembre 1st, 2026No Comments
dbt_external_tables

En arquitecturas modernas de datos, no toda la información reside directamente dentro del data warehouse. Muchas organizaciones almacenan datos en sistemas externos como data lakes o buckets cloud y necesitan integrarlos dentro de sus pipelines analíticos.

Para facilitar este proceso, herramientas como dbt permiten trabajar con external tables, haciendo posible consultar datos externos desde plataformas como Snowflake sin necesidad de cargarlos completamente en tablas internas.

En este artículo exploraremos qué son las external tables, cómo funcionan en dbt y cómo pueden utilizarse en proyectos de datos modernos.

Qué son las External Tables

Las external tables son tablas que permiten consultar datos almacenados fuera del data warehouse.

En lugar de almacenar físicamente los datos dentro de Snowflake, las external tables actúan como una capa de acceso sobre archivos externos.

Estos archivos suelen estar almacenados en:

  • Amazon S3
  • Azure Blob Storage
  • Google Cloud Storage

Por qué utilizar external tables

Las external tables ofrecen múltiples ventajas.

Acceso directo a datos externos

Permiten consultar archivos sin necesidad de moverlos.

Reducción de almacenamiento duplicado

Evitan copiar datos innecesariamente.

Integración con data lakes

Facilitan arquitecturas híbridas.

Flexibilidad

Permiten trabajar con múltiples formatos de datos.

Qué es dbt

dbt (Data Build Tool) es una herramienta utilizada para transformar datos dentro del data warehouse utilizando SQL.

Permite:

  • crear modelos de datos
  • automatizar transformaciones
  • gestionar dependencias
  • documentar pipelines

dbt se ha convertido en una herramienta clave en workflows ELT modernos.

Integración de external tables en dbt

Para trabajar con external tables en dbt, normalmente se utiliza el paquete:

dbt_external_tables

Este paquete facilita la creación y mantenimiento de external tables desde dbt.

Instalación del paquete

En el archivo packages.yml:

packages:

  – package: dbt-labs/dbt_external_tables

    version: 0.8.0

Luego se instala con:

dbt deps

 

Configuración de una external table

Ejemplo de configuración:

sources:

  – name: raw_data

    tables:

      – name: events_external

        external:

          location: «@my_stage/events/»

          file_format: «(type = parquet)»

Esto define una external table sobre archivos Parquet.

Crear la external table

dbt permite generar automáticamente la tabla:

dbt run-operation stage_external_sources

Esto crea las external tables definidas en los sources.

 

Consultar datos externos

Una vez creada, la external table puede utilizarse como cualquier otra tabla.

SELECT *

FROM {{ source(‘raw_data’, ‘events_external’) }}

LIMIT 10;

 

Formatos soportados

Las external tables soportan distintos formatos de archivo.

Por ejemplo:

  • CSV
  • JSON
  • Parquet
  • Avro

Esto facilita la integración con múltiples fuentes de datos.

Casos de uso comunes

Las external tables son especialmente útiles en:

  • arquitecturas lakehouse
  • ingestión de datos raw
  • procesamiento de logs
  • integración de datos históricos
  • pipelines ELT modernos

Ventajas frente a cargas tradicionales

Comparadas con cargas tradicionales, las external tables ofrecen:

  • acceso inmediato a datos
  • menor duplicación
  • mayor flexibilidad
  • integración sencilla con cloud storage

Sin embargo, también pueden tener limitaciones de rendimiento dependiendo del volumen y formato de los datos.

External tables y Snowflake

En Snowflake, las external tables permiten combinar:

  • almacenamiento cloud externo
  • procesamiento analítico
  • optimización de consultas

Esto facilita arquitecturas modernas basadas en separación entre almacenamiento y procesamiento.

Buenas prácticas

Al trabajar con external tables es recomendable:

  • organizar correctamente los archivos
  • utilizar formatos optimizados como Parquet
  • particionar datos cuando sea posible
  • documentar estructuras de datos
  • monitorizar costes y rendimiento

dbt y arquitecturas modernas de datos

dbt se ha convertido en una herramienta fundamental dentro de arquitecturas modernas.

La combinación de:

  • dbt
  • Snowflake
  • external tables

permite construir pipelines ELT flexibles y escalables.

Leave a Reply