Автоматизация конвейеров данных в 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 | Большие аналитические наборы; столбчатое сжатие = меньше файлов, быстрее чтение |
Ключевые параметры выгрузки
-- Split large exports across multiple files (bytes)
HEADER = TRUE -- include column names in first row
OVERWRITE = TRUE -- replace any existing files at that path
MAX_FILE_SIZE = 104857600 -- 100 MB per output file

Коннектор 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 по расписанию, задачи data science |
| dbt | SQL-трансформации | Запуск моделей в Snowflake |
| Fivetran / Airbyte | Управляемая загрузка | SaaS-источники → Snowflake, без кода |
Автоматизация конвейеров данных в Snowflake