Carga de datos estructurados y semiestructurados

Arquitectura de Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Flujo de carga

Flujo de carga que muestra archivos entrando al stage y luego cargados en Snowflake

  • Los archivos llegan al stage; ejecuta COPY INTO para cargarlos
Arquitectura de Snowflake

¿Qué es un stage?

Stage = ubicación de almacenamiento temporal

¿Qué es un Stage? Diagrama de Snowflake

Crear stage interno

CREATE STAGE snowy_peak_stage;

Crear stage externo

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://snowy-peak-data/raw/';
Arquitectura de Snowflake

Cargar datos en Snowflake

COPY INTO

  • Carga masiva desde el stage
  • Datos estructurados y semiestructurados
  • Escalable

INSERT

  • Ideal para pocas filas sin staging
  • Altas puntuales o pequeños cambios

Snowsight UI

  • Usuarios no técnicos y cargas puntuales rápidas
Arquitectura de Snowflake

Inspeccionar un stage con LIST

snowflake_list_stage.png

Arquitectura de Snowflake

Cargar datos estructurados con COPY INTO

Consulta

CREATE OR REPLACE FILE FORMAT csv_format
  TYPE = CSV
  SKIP_HEADER = 1;

COPY INTO orders
FROM @snowy_peak_stage/orders.csv
FILE_FORMAT = (FORMAT_NAME = csv_format);
Arquitectura de Snowflake

Cargar y consultar datos semiestructurados

Carga

JSON se carga en un tipo especial de columna de Snowflake llamado VARIANT.

CREATE TABLE events (raw_event VARIANT);

COPY INTO events
FROM @snowy_peak_stage/events.json
FILE_FORMAT = (TYPE = JSON);

Consulta

Usa la notación de dos puntos para navegar por el JSON.

SELECT 
raw_event:user_id::STRING AS user_id,
raw_event:event_type::STRING 
AS event_type
FROM events;
Arquitectura de Snowflake

Cargar con la interfaz

Captura de la interfaz de Snowflake

Arquitectura de Snowflake

¡Vamos a practicar!

Arquitectura de Snowflake

Preparing Video For Download...