Vykládání dat a konektivita

Automatizace datových pipeline ve Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Případ použití: vykládání dat

Export dat do cloudového úložiště

  • Ne všichni partneři mají přístup ke Snowflake
  • COPY INTO zapisuje výsledky přímo do fáze
  • Není potřeba samostatný exportní pipeline
    COPY INTO @harbr_partner_export/
    daily_summary/
    FROM (SELECT * FROM 
    logistics.shipment_summary
    WHERE export_date = 
    CURRENT_DATE() - 1);
    

 

 

Mermaid: vykládání Snowflake do partnerského úložiště

Automatizace datových pipeline ve 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;
Automatizace datových pipeline ve Snowflake

Možnosti formátu exportního souboru

 

Formát Vhodné pro
CSV Univerzální – čitelný téměř každým systémem; ideální pro partnerské exporty
JSON Zachovává vnořené struktury; vhodné pro semi-strukturované výstupy
Parquet Velké analytické datové sady; sloupcová komprese = menší soubory, rychlejší čtení

Klíčové parametry vykládání

-- 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
Automatizace datových pipeline ve Snowflake

Přehled konektivity

Přehled konektorů konektivity

Automatizace datových pipeline ve Snowflake

Konektory Kafka a Spark

Konektor Kafka

  • Témata proudí přímo do tabulek Snowflake
  • Žádné soubory ani fáze — používá Snowpipe Streaming
  • Latence v řádu sekund
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING

Konektor Spark

  • Integrace s DataFrame API Sparku
  • Úlohy Sparku čtou ze Snowflake i do něj zapisují
  • Zvládá rozsáhlé transformační úlohy
// Read from Snowflake into a Spark DataFrame
val df = spark.read.format("snowflake")
  .options(sfOptions).option("dbtable", 
    "shipments").load()
Automatizace datových pipeline ve Snowflake

JDBC/ODBC a partnerské integrace

Univerzální konektivita

Integrace Typ Využití v Harbr
JDBC / ODBC Univerzální ovladače Nástroje BI (Tableau, Power BI, Looker) – přímé dotazy
Python Connector Nativní ovladač Pythonu Datové pipeline, plánované ETL, data science
dbt SQL transformace Spouští modely přímo v Snowflake
Fivetran / Airbyte Spravovaná ingesta SaaS zdroje → Snowflake, bez vlastního kódu
Automatizace datových pipeline ve Snowflake

Pojďme procvičovat!

Automatizace datových pipeline ve Snowflake

Preparing Video For Download...