-
En arquitecturas modernas de datos es muy común almacenar archivos en sistemas de almacenamiento cloud como Amazon S3, Azure Blob Storage o Google Cloud Storage. Estos sistemas suelen actuar como una capa intermedia donde se depositan archivos antes de ser procesados por el data warehouse.
Para facilitar la ingestión de estos datos, Snowflake permite cargar archivos directamente desde external stages y automatizar este proceso mediante diferentes mecanismos.
En este artículo veremos cómo funciona la carga de datos desde external stages y cómo automatizar este proceso para construir pipelines de datos eficientes.
Qué es un External Stage
Un external stage es una referencia dentro de Snowflake a una ubicación de almacenamiento externa donde se encuentran archivos de datos.
Estas ubicaciones pueden ser servicios de almacenamiento cloud como:
- Amazon S3
- Azure Blob Storage
- Google Cloud Storage
Los external stages permiten que Snowflake acceda a archivos almacenados en estas plataformas para cargarlos en tablas.
Crear un External Stage
Antes de cargar archivos, primero debemos crear un external stage que apunte al almacenamiento cloud.
Ejemplo:
CREATE STAGE my_external_stage
URL=’s3://my-bucket/data/’
CREDENTIALS=(AWS_KEY_ID=’your_key’ AWS_SECRET_KEY=’your_secret’);
Este comando crea un stage que apunta a una ubicación en Amazon S3.
Una vez creado el stage, Snowflake puede acceder a los archivos almacenados en esa ubicación.
Cargar datos desde un External Stage
Después de definir el stage, los archivos pueden cargarse en una tabla utilizando el comando COPY INTO.
Ejemplo:
COPY INTO sales_data
FROM @my_external_stage
FILE_FORMAT = (TYPE = ‘CSV’);
Este comando carga los archivos almacenados en el stage hacia la tabla sales_data.
Snowflake procesa los archivos y los inserta en la tabla correspondiente.
Automatizar la carga de datos
Aunque la carga manual mediante COPY INTO funciona correctamente, muchas organizaciones necesitan automatizar este proceso.
Existen diferentes formas de automatizar la carga de datos.
Por ejemplo:
- utilizar Snowpipe
- programar procesos mediante tasks
- activar pipelines desde herramientas externas
La automatización permite que los datos se carguen automáticamente cuando se detectan nuevos archivos.
Automatización mediante eventos
En entornos cloud, una práctica común consiste en utilizar eventos generados por el sistema de almacenamiento.
Por ejemplo, en Amazon S3 se pueden generar eventos cuando se carga un nuevo archivo.
Estos eventos pueden activar procesos de ingestión en Snowflake.
Este enfoque permite construir pipelines de datos casi en tiempo real.
Uso de Snowpipe para automatizar la ingestión
Una de las formas más utilizadas para automatizar la carga de datos es mediante Snowpipe.
Snowpipe permite que Snowflake cargue automáticamente nuevos archivos detectados en un external stage.
Ejemplo de creación de un pipe:
CREATE PIPE sales_pipe
AS
COPY INTO sales_data
FROM @my_external_stage
FILE_FORMAT = (TYPE = ‘CSV’);
Una vez configurado, Snowpipe puede activarse automáticamente cuando llegan nuevos archivos.
Ventajas de automatizar la ingestión de datos
Automatizar la carga de datos ofrece varias ventajas.
Procesamiento continuo
Los datos pueden cargarse automáticamente a medida que se generan.
Reducción de tareas manuales
No es necesario ejecutar comandos manualmente.
Mejor disponibilidad de datos
Los datasets se actualizan de forma más rápida.
Escalabilidad
El sistema puede manejar grandes volúmenes de archivos sin intervención manual.
Casos de uso comunes
La automatización de la carga desde external stages se utiliza en muchos escenarios.
Por ejemplo:
- ingestión de datos de aplicaciones
- procesamiento de logs de sistemas
- integración de datos provenientes de APIs
- actualización continua de datasets analíticos
Estos casos suelen requerir pipelines de datos automatizados.
External Stages en arquitecturas modernas de datos
En arquitecturas modernas de datos, los external stages suelen formar parte de pipelines que incluyen múltiples herramientas.
Por ejemplo:
- almacenamiento cloud para archivos
- Snowflake como data warehouse
- herramientas de transformación de datos
- plataformas de visualización
Este enfoque permite construir sistemas analíticos flexibles y escalables.
Buenas prácticas
Al trabajar con external stages es recomendable:
- organizar los archivos en carpetas estructuradas
- definir correctamente los formatos de archivo
- monitorizar los procesos de carga
- gestionar errores en pipelines
Estas prácticas ayudan a mantener procesos de ingestión robustos.
Conclusión
Los external stages permiten a Snowflake acceder directamente a archivos almacenados en sistemas cloud como Amazon S3, Azure Blob Storage o Google Cloud Storage. Al combinar esta funcionalidad con herramientas de automatización como Snowpipe o tareas programadas, es posible construir pipelines de ingestión de datos completamente automatizados.
Este enfoque facilita la integración de datos en arquitecturas modernas y permite que la información esté disponible para análisis de forma rápida y eficiente.




