Завантаження структурованих і напівструктурованих даних

Архітектура Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Робочий процес завантаження

Робочий процес завантаження: файли потрапляють у stage, потім завантажуються в Snowflake

  • Файли потрапляють у stage, виконайте COPY INTO для завантаження
Архітектура Snowflake

Що таке Stage?

Stage = тимчасове сховище

Схема «Що таке Stage» від Snowflake

Створити внутрішній stage

CREATE STAGE snowy_peak_stage;

Створити зовнішній stage

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://snowy-peak-data/raw/';
Архітектура Snowflake

Завантаження даних у Snowflake

COPY INTO

  • Масове завантаження зі Stage
  • Структуровані та напівструктуровані дані
  • Масштабується

INSERT

  • Підходить для небагатьох рядків без stage
  • Разові додавання або малі зміни

Snowsight UI

  • Для нетехнічних користувачів і швидких разових задач
Архітектура Snowflake

Перегляд Stage командою LIST

snowflake_list_stage.png

Архітектура Snowflake

Завантаження структурованих даних за допомогою COPY INTO

Запит

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);
Архітектура Snowflake

Завантаження та запити до напівструктурованих даних

Завантаження

JSON завантажується в спеціальний тип стовпця Snowflake — VARIANT.

CREATE TABLE events (raw_event VARIANT);

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

Запити

Використовуйте позначення через двокрапку для навігації структурою JSON,

SELECT 
raw_event:user_id::STRING AS user_id,
raw_event:event_type::STRING 
AS event_type
FROM events;
Архітектура Snowflake

Завантаження через інтерфейс

Знімок екрана інтерфейсу Snowflake

Архітектура Snowflake

Перейдемо до практики!

Архітектура Snowflake

Preparing Video For Download...