Snowflake'te Veri Pipeline'larını Otomatikleştirme
Emily Melhuish
Technical Curriculum Developer, Snowflake
Veriyi bulut depolamaya dışa aktarma
COPY INTO sonuçları doğrudan bir aşamaya yazarCOPY 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;
| Biçim | En Uygun |
|---|---|
| CSV | Evrensel — neredeyse her sistem okur; iş ortağı dışa aktarmaları için ideal |
| JSON | İç içe yapıları korur; yarı yapılandırılmış çıktıyı tüketenler için yararlı |
| Parquet | Büyük analitik veri kümeleri; sütunlu sıkıştırma = daha küçük dosyalar, daha hızlı okuma |
Temel dışa aktarma seçenekleri
-- Büyük dışa aktarmaları birden çok dosyaya böl (bayt)
HEADER = TRUE -- ilk satıra sütun adlarını ekle
OVERWRITE = TRUE -- o yoldaki mevcut dosyaların üzerine yaz
MAX_FILE_SIZE = 104857600 -- çıktı dosyası başına 100 MB

Kafka Bağlayıcısı
# connector.properties (Kafka ayarları)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING
Spark Bağlayıcısı
// Snowflake'ten bir Spark DataFrame'e okuma
val df = spark.read.format("snowflake")
.options(sfOptions).option("dbtable",
"shipments").load()
Evrensel bağlanabilirlik
| Entegrasyon | Tür | Harbr'da kullanım |
|---|---|---|
| JDBC / ODBC | Evrensel sürücüler | BI araçları (Tableau, Power BI, Looker) - doğrudan sorgu |
| Python Connector | Yerel Python sürücüsü | Veri hatları, zamanlanmış ETL, veri bilimi iş akışları |
| dbt | SQL dönüşümü | Modelleri doğrudan Snowflake işleminde çalıştırır |
| Fivetran / Airbyte | Yönetilen alım | SaaS kaynakları → Snowflake, özel kod yok |
Snowflake'te Veri Pipeline'larını Otomatikleştirme