Stages, formatos de archivo y COPY INTO

Automatización de canalizaciones de datos en Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake impulsa muchas cargas de trabajo

Captura de pantalla 2026-05-11 a las 11:52:34 a. m.

1 * Material de aprendizaje de Snowflake
Automatización de canalizaciones de datos en Snowflake

Pipeline de ejemplo

 

 

Captura de pantalla 2026-05-11 a las 10:48:51 a. m.

1 * Material de aprendizaje de Snowflake
Automatización de canalizaciones de datos en Snowflake

Conoce Harbr

Logo falso de Harbr

Sobre Harbr

  • Plataforma global de logística y cadena de suministro
  • Usa Snowflake para rastrear envíos, inventario y desempeño de entregas
  • Ingresa datos de sistemas de proveedores en varias regiones
Automatización de canalizaciones de datos en Snowflake

El problema de la carga de datos

Diagrama de carga de datos

Stage = ubicación de almacenamiento temporal

Automatización de canalizaciones de datos en Snowflake

Tipos de stage

Dos tipos de stage

Stages internos

  • Usuario
    • Área personal de staging para un único usuario
  • Tabla
    • Vinculado a una tabla específica
  • Nombrado
    • Objeto de base de datos creado en el esquema

Stage externo

  • Nombrado
    • Apunta al proveedor cloud
Automatización de canalizaciones de datos en Snowflake

Parámetros de stage

Tabla de directorio

CREATE STAGE harbr_stage
  DIRECTORY = (ENABLE = TRUE)

Cifrado de stages internos

ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)

Cifrado de stage externo

ENCRYPTION = 
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '') 

ENCRYPTION = 
([ TYPE = 'AWS_SSE_S3' ]) 

...
Automatización de canalizaciones de datos en Snowflake

Formatos de archivo

  • Formatos estructurados: CSV con delimitadores, filas de cabecera y reglas de comillas
  • Semiestructurados: JSON, Parquet, Avro, ORC y XML.

    • Cargar directamente en una columna VARIANT
    • Definir reglas de parseo una vez y reutilizar en todas las cargas
  • Actualiza el objeto de formato una vez

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Automatización de canalizaciones de datos en Snowflake

COPY INTO

Cargar desde un stage nombrado usando un formato nombrado

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
Automatización de canalizaciones de datos en Snowflake

Gestión de errores

Opciones de ON_ERROR Comportamiento
ABORT_STATEMENT Falla toda la carga en el primer error (predeterminado)
CONTINUE Omite filas erróneas y carga el resto
SKIP_FILE Omite el archivo completo si tiene errores
SKIP_FILE_<num> Omite el archivo solo si los errores superan un conteo dado
SKIP_FILE_<num>% Omite el archivo solo si los errores superan un umbral en %
Automatización de canalizaciones de datos en Snowflake

Validation mode y COPY_HISTORY

Validar sin cargar = simulación

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;

Inspeccionar el historial de cargas

SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
  TABLE_NAME => 'shipments',
  START_TIME => DATEADD('hour', -24,
    CURRENT_TIMESTAMP())));
Automatización de canalizaciones de datos en Snowflake

¡Vamos a practicar!

Automatización de canalizaciones de datos en Snowflake

Preparing Video For Download...