Back to Showcase

European Weather Analytics Pipeline

Alexey Kononets

European Weather Analytics Pipeline - an end-to-end batch pipeline that loads hourly weather for 95 European cities from 2010 onwards from the Open-Meteo Historical API into PostgreSQL 16, transforms it through a Kimball star schema (stage → core → mart), drives a live Power BI dashboard, and produces a 7-day Facebook Prophet forecast every night. Bruin features used: • Python assets - API ingestion with quota-aware resumable backfill, SCD1 dimension loaders, a gap-filling asset between stage/core/mart layers, and a Prophet 7-day forecast asset. • SQL assets - fact tables (fact_weather_hourly partitioned by year, fact_weather_daily) and the denormalised mart.daily_weather table for Power BI. • Mixed Python + SQL in a single DAG - dependencies declared via @bruin depends headers, so the whole chain (ingest → dimensions → facts → mart → backfill → forecast) runs in the correct order with one `bruin run /app`. • Pipeline scheduling - `schedule: "0 8 * * *"` in pipeline.yml, triggered daily by system cron via a small wrapper script. • Bruin connections - PostgreSQL connection defined in .bruin.yml and reused by every asset, keeping credentials out of the code. • `bruin validate` - used before every deployment to catch broken dependencies or misconfigured assets early.

Share: