Автоматизація конвеєрів даних у Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Експорт даних у хмарне сховище
COPY INTO пише результати прямо на стадіюCOPY INTO @harbr_partner_export/
daily_summary/
FROM (SELECT * FROM
logistics.shipment_summary
WHERE export_date =
CURRENT_DATE() - 1);

COPY INTO @harbr_partner_export/shipment_summary/
FROM (
SELECT shipment_id,
origin,
destination,
delivery_status,
delivery_time_hours
FROM logistics.shipments
WHERE delivery_date = CURRENT_DATE()
)
FILE_FORMAT = (TYPE = 'CSV' HEADER = TRUE)
OVERWRITE = TRUE;
| Формат | Найкраще для |
|---|---|
| CSV | Універсальний — майже всі системи його читають; ідеально для експорту партнерам |
| JSON | Зберігає вкладені структури; корисний для споживачів напівструктурованих даних |
| Parquet | Великі аналітичні набори; колонарне стиснення = менші файли, швидше читання |
Ключові опції вивантаження
-- Розбити великі експорти на кілька файлів (байти)
HEADER = TRUE -- включити імена стовпців у перший рядок
OVERWRITE = TRUE -- замінити наявні файли за шляхом
MAX_FILE_SIZE = 104857600 -- 100 MB на вихідний файл

Конектор Kafka
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING
Конектор Spark
// Read from Snowflake into a Spark DataFrame
val df = spark.read.format("snowflake")
.options(sfOptions).option("dbtable",
"shipments").load()
Універсальні підключення
| Інтеграція | Тип | Використання в Harbr |
|---|---|---|
| JDBC / ODBC | Універсальні драйвери | BI-інструменти (Tableau, Power BI, Looker) — прямі запити |
| Python Connector | Рідний драйвер Python | Конвеєри даних, планові ETL, DS-процеси |
| dbt | SQL-трансформації | Запуск моделей безпосередньо в обчисленнях Snowflake |
| Fivetran / Airbyte | Кероване завантаження | Джерела SaaS → Snowflake, без кастомного коду |
Автоматизація конвеєрів даних у Snowflake