Uno de los primeros pasos al trabajar con una plataforma de datos es poder cargar información en el sistema. En el caso de Snowflake, existen múltiples formas de ingerir datos dependiendo del origen, el volumen y la frecuencia de actualización.
En este artículo veremos cómo cargar datos en Snowflake utilizando diferentes métodos, desde cargas manuales hasta procesos automatizados.
Métodos para cargar datos en Snowflake
Snowflake ofrece varias formas de cargar datos.
Entre las más comunes se encuentran:
- carga desde archivos locales
- carga desde stages internos
- carga desde stages externos
- ingestión automática con Snowpipe
Cada método se adapta a distintos escenarios.
Paso 1: crear una tabla
Antes de cargar datos, es necesario crear una tabla donde se almacenará la información.
CREATE TABLE customers (
customer_id INT,
name STRING,
email STRING,
country STRING,
signup_date DATE
);
Esta tabla será el destino de los datos cargados.
Paso 2: definir un File Format
Snowflake necesita conocer el formato de los archivos que se van a cargar.
CREATE FILE FORMAT my_csv_format
TYPE = ‘CSV’
FIELD_OPTIONALLY_ENCLOSED_BY = ‘»‘
SKIP_HEADER = 1;
Esto permite interpretar correctamente los datos.
Paso 3: cargar archivos en un Stage interno
Snowflake permite subir archivos directamente a un stage interno.
PUT file://customers.csv @%customers;
Este comando sube el archivo customers.csv al stage asociado a la tabla.
Paso 4: cargar datos con COPY INTO
Una vez que los archivos están en el stage, se pueden cargar en la tabla.
COPY INTO customers
FROM @%customers
FILE_FORMAT = (FORMAT_NAME = my_csv_format);
Este es el método más utilizado para cargar datos en Snowflake.
Carga desde un External Stage
También es posible cargar datos desde almacenamiento externo, como Amazon S3.
CREATE STAGE my_stage
URL=’s3://my-bucket/data/’;
Luego se pueden cargar los datos:
COPY INTO customers
FROM @my_stage
FILE_FORMAT = (FORMAT_NAME = my_csv_format);
Este enfoque es común en arquitecturas cloud.
Automatizar la carga con Snowpipe
Para cargas continuas o en tiempo casi real, Snowflake ofrece Snowpipe.
CREATE PIPE my_pipe
AS
COPY INTO customers
FROM @my_stage
FILE_FORMAT = (FORMAT_NAME = my_csv_format);
Snowpipe permite cargar datos automáticamente cuando llegan nuevos archivos.
Validar los datos cargados
Después de la carga, es importante verificar los datos.
SELECT * FROM customers LIMIT 10;
Esto permite confirmar que la información se ha cargado correctamente.
Buenas prácticas
Al cargar datos en Snowflake es recomendable:
- definir correctamente los formatos de archivo
- validar los datos antes y después de la carga
- organizar los archivos en el stage
- monitorizar los procesos de ingestión
- manejar errores en COPY INTO
Estas prácticas ayudan a evitar problemas en pipelines de datos.
Casos de uso comunes
La carga de datos en Snowflake se utiliza en múltiples escenarios.
Por ejemplo:
- ingestión de datos desde aplicaciones
- integración con APIs
- procesamiento de logs
- pipelines ETL/ELT
- analítica empresarial
Snowflake en arquitecturas de ingestión de datos
En arquitecturas modernas, Snowflake suele integrarse con múltiples fuentes de datos.
El flujo típico incluye:
- almacenamiento de archivos en cloud
- carga en Snowflake
- transformación de datos
- visualización en dashboards
Esto permite construir pipelines de datos escalables.
Conclusión
Cargar datos en Snowflake es un proceso fundamental en cualquier proyecto de datos. Gracias a sus múltiples métodos de ingestión, desde cargas manuales hasta automatización con Snowpipe, Snowflake permite adaptarse a diferentes necesidades y volúmenes de datos.
Comprender estos mecanismos es clave para construir pipelines de datos eficientes y escalables en entornos modernos.




