Automatisation des pipelines de données dans Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Exporter des données vers un stockage infonuagique
COPY INTO écrit directement vers un stageCOPY 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;
| Format | Idéal pour |
|---|---|
| CSV | Universel — presque tous les systèmes le lisent; idéal pour les exports partenaires |
| JSON | Préserve les structures imbriquées; utile pour des consommateurs semi-structurés |
| Parquet | Grands ensembles analytiques; compression en colonnes = fichiers plus petits, lectures plus rapides |
Options clés de déchargement
-- Scinder les gros exports en plusieurs fichiers (octets)
HEADER = TRUE -- inclure les noms de colonnes à la première ligne
OVERWRITE = TRUE -- remplacer les fichiers existants à ce chemin
MAX_FILE_SIZE = 104857600 -- 100 Mo par fichier

Connecteur Kafka
# connector.properties (paramètres Kafka)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING
Connecteur Spark
// Lire depuis Snowflake dans un DataFrame Spark
val df = spark.read.format("snowflake")
.options(sfOptions).option("dbtable",
"shipments").load()
Connectivité universelle
| Intégration | Type | Usage chez Harbr |
|---|---|---|
| JDBC / ODBC | Pilotes universels | Outils BI (Tableau, Power BI, Looker) — requêtes directes |
| Connecteur Python | Pilote Python natif | Pipelines de données, ETL planifiés, science des données |
| dbt | Transformation SQL | Exécute des modèles directement sur Snowflake compute |
| Fivetran / Airbyte | Ingestion gérée | Sources SaaS → Snowflake, sans code personnalisé |
Automatisation des pipelines de données dans Snowflake