Carregando dados estruturados e semiestruturados

Arquitetura do Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

O fluxo de carregamento

Fluxo de carregamento mostrando arquivos indo para o stage e depois carregados no Snowflake

  • Arquivos chegam no stage; execute COPY INTO para carregá-los
Arquitetura do Snowflake

O que é um stage?

Stage = local de armazenamento temporário

Diagrama “What is a Stage” do Snowflake

Criar stage interno

CREATE STAGE snowy_peak_stage;

Criar stage externo

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

Carregando dados no Snowflake

COPY INTO

  • Carga em lote a partir do stage
  • Dados estruturados e semiestruturados
  • Escalável

INSERT

  • Ótimo para poucas linhas sem staging
  • Inclusões pontuais ou mudanças pequenas

Snowsight UI

  • Para usuários não técnicos e cargas pontuais rápidas
Arquitetura do Snowflake

Inspecionando um stage com LIST

snowflake_list_stage.png

Arquitetura do Snowflake

Carregando dados estruturados com 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);
Arquitetura do Snowflake

Carregando e consultando dados semiestruturados

Carregando

JSON carrega em um tipo especial do Snowflake chamado VARIANT.

CREATE TABLE events (raw_event VARIANT);

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

Consultando

Use notação de dois-pontos para navegar no JSON,

SELECT 
raw_event:user_id::STRING AS user_id,
raw_event:event_type::STRING 
AS event_type
FROM events;
Arquitetura do Snowflake

Carregando pela UI

Captura de tela da interface do Snowflake

Arquitetura do Snowflake

Vamos praticar!

Arquitetura do Snowflake

Preparing Video For Download...