de-energy-streaming

German day-ahead power prices through Kafka, Spark Structured Streaming and Apache Iceberg, orchestrated with Airflow and served with PostgreSQL and Grafana. Rebuilt daily; generated 2026-10-18 16:40 UTC.

Repository · README · Operations runbook · Findings

Part of a three-project portfolio: de-energy-streaming · nl-energy-warehouse · databricks-energy-quality.

What the data says

Computed from the marts, 8 June – 28 September 2026. Full analysis and caveats: findings.md.

€188 vs €40
evening peak (18–20h) vs midday trough (11–14h) — the duck curve, priced
7.5%
share of all hours priced below zero (203 hours; the minimum was −€45.87/MWh)
19.7% vs 2.7%
share of hours below zero on weekends vs weekdays
€2.98 vs €206
average weekend-midday price vs weekday-evening price — the cheapest window of the week is nearly free
Average price by hour - the duck curve, priced
Average price by hour - the duck curve, priced

Architecture

flowchart TB
    SMARD["SMARD.de"] -->|live poll / replay| P["producer (Python)"]
    P -->|keyed JSON| K[("Redpanda (Kafka API)")]
    K --> S["Spark Structured Streaming"]
    S -->|"MERGE, newest revision wins"| B[("Iceberg bronze (S3 API, LocalStack)")]
    S -->|malformed records| D[("DLQ topic")]
    B --> T["Spark batch transform"]
    T --> SI[("Iceberg silver + gold")]
    T -->|upsert| PG[("Postgres serving")]
    PG --> G["Grafana"]
    A["Airflow"] -. hourly transform .-> T
    A -. daily backfill .-> B
    A -. daily compaction + snapshot expiry .-> SI

Market pulse (live)

SMARD.de (Bundesnetzagentur), DE-LU day-ahead, published hours only (latest 2026-10-18 16:00 UTC) - rendered 2026-10-18 16:40 UTC

WindowAvg EUR/MWhMinMaxNegative hours
Last 24 h175.55141.14234.930 (0.0 %)
Last 7 days183.2495.73295.580 (0.0 %)
Last 14 days158.080.00382.320 (0.0 %)
Extremes (last 14 days)When (Europe/Berlin)Price
CheapestSat 10 Oct 13:000.00
PriciestTue 06 Oct 19:00382.32
Split (last 14 days)Avg EUR/MWhHours
Weekdays170.27240
Weekends125.9291

Full analysis and charts: analysis/findings.md, make bi, make charts.

News context (live)

Public energy-news headlines classified into topics by classifier.dev; unrelated headlines are filtered out.

Energy topic (latest 95 headlines)Headlines
policy and regulation23
renewables22
batteries and storage15
companies and projects12
power prices and markets9
grid and infrastructure4
gas2
hydrogen2

6 of 95 headlines were general news and filtered out.

More charts

Weekend vs weekday price profile
Weekend vs weekday price profile
Negative-price hours and average price by month
Negative-price hours and average price by month

Screenshots

Grafana dashboard (serving layer)
Grafana dashboard (serving layer)
Airflow DAG grid (hourly Spark orchestration)
Airflow DAG grid (hourly Spark orchestration)
Spark master UI (streaming app + batch jobs)
Spark master UI (streaming app + batch jobs)