Dataavlastning och anslutningar

Automatisering av datapipelines i Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Användningsfallet för avlastning

Exportera data till molnlagring

  • Alla partners saknar åtkomst till Snowflake
  • COPY INTO skriver resultat direkt till ett stage
  • Ingen separat exportpipeline behövs
    COPY INTO @harbr_partner_export/
    daily_summary/
    FROM (SELECT * FROM 
    logistics.shipment_summary
    WHERE export_date = 
    CURRENT_DATE() - 1);
    

 

 

Mermaid-diagram: Snowflake avlastar data till partnerlagring

Automatisering av datapipelines i Snowflake

COPY INTO

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;
Automatisering av datapipelines i Snowflake

Alternativ för exportfilformat

 

Format Passar bäst för
CSV Universellt – nästan alla system kan läsa det; idealiskt för partnerexporter
JSON Bevarar nästlade strukturer; användbart för semi-strukturerade datakonsumenter
Parquet Stora analytiska datamängder; kolumnkomprimering = mindre filer, snabbare läsning

Viktiga avlastningsalternativ

-- 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
Automatisering av datapipelines i Snowflake

Anslutningslandskapet

Anslutningslandskapet med kopplingar

Automatisering av datapipelines i Snowflake

Kafka- och Spark-kopplingar

Kafka Connector

  • Ämnen strömmas direkt till Snowflake-tabeller
  • Inga filer, inga stages — använder Snowpipe Streaming
  • Latens mäts i sekunder
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING

Spark Connector

  • Integreras med Sparks DataFrame API
  • Spark-jobb läser från och skriver till Snowflake
  • Hanterar storskaliga transformationsarbetsbelastningar
// Read from Snowflake into a Spark DataFrame
val df = spark.read.format("snowflake")
  .options(sfOptions).option("dbtable", 
    "shipments").load()
Automatisering av datapipelines i Snowflake

JDBC/ODBC och partnerintegreringar

Universell anslutning

Integration Typ Användning på Harbr
JDBC / ODBC Universella drivrutiner BI-verktyg (Tableau, Power BI, Looker) – direktfrågor
Python Connector Inbyggd Python-drivrutin Datapipelines, schemalagd ETL, datavetenskapliga arbetsflöden
dbt SQL-transformation Kör modeller direkt i Snowflakes beräkningslager
Fivetran / Airbyte Hanterad inmatning SaaS-källsystem → Snowflake, ingen egen kod
Automatisering av datapipelines i Snowflake

Låt oss öva!

Automatisering av datapipelines i Snowflake

Preparing Video For Download...