← Learning Hub Lesson 1 Duration: ~12 min Topic: Platform Architecture

The Lakehouse: Mapping Databricks to Weather-to-Power

This lesson gives you the mental model you need to make architectural decisions on Databricks. By the end, you'll be able to sketch how weather data flows through the platform and becomes a power forecast — and name the Databricks components responsible for each stage.

Your Domain Model

Before diving into Databricks, let's pin down the domain you're modelling. Every architectural decision traces back to this:

Domain Model — Weather to Power Weather Grid NWP model output Gridded (lat/lon cells) Time series per variable geo-spatial mapping Asset (Wind Park) 📍 Geo-location (lat, lon) Operates as cluster Turbine 1 Turbine 2 … Weather Time Series wind_speed, irradiance, temp… per asset × timestamp Power Time Series output_kw, availability… per turbine × timestamp Dual Access to Time Series Production Pipeline → ← Analytical Queries
Key Domain Concepts

The Lakehouse Concept

Databricks is built on the lakehouse architecture — a single platform that combines the cheap, scalable storage of a data lake with the reliability and performance of a data warehouse. No more choosing between the two.[1]

Key Insight The lakehouse eliminates the "two-system" problem. Weather data (large, semi-structured, high-frequency) and power forecasts (structured, query-optimised) live in the same platform, governed by the same catalog. Crucially, time series data stored once in Delta tables can be accessed by both production pipelines (Workflows/Jobs) and ad-hoc analysts (SQL Warehouses/Notebooks) — no duplication required.

Three properties make this possible:

  1. Delta Lake — an open storage layer that adds ACID transactions, schema enforcement, and time travel to Parquet files on cloud object storage (ADLS, S3, GCS).[2]
  2. Unity Catalog — a unified governance layer for data, ML models, and code. One place to define access control and track lineage.
  3. Compute separation — storage and compute are decoupled. You scale clusters independently of your data volume.

The Medallion Architecture

The standard pattern for organising data in a lakehouse is the medallion architecture: three layers (Bronze → Silver → Gold) that progressively refine raw data into business-ready assets.[3]

BRONZE Raw ingestion • GRIB/NetCDF weather files • SCADA turbine telemetry • Asset registry (parks, turbines) • Grid dispatch signals • Append-only, immutable clean, map to assets SILVER Conformed & asset-mapped • Weather → asset (geo join) • TS per turbine & park • Aligned timestamps (UTC) • Deduplicated, typed • ⇄ Analysis + Pipeline aggregate & model GOLD Business-ready • Forecast per turbine (kW) • Forecast per park (MW) • Confidence intervals • Model performance logs • Served to downstream Medallion Architecture — Weather to Power (Asset-level)

Why this matters for your team

LayerYour DataArchitectural Concern
Bronze Raw NWP files (ECMWF, GFS), SCADA feeds per turbine, asset registry (parks + turbines + locations) Ingestion reliability, schema-on-read, no data loss, preserve raw grid structure
Silver Weather time series mapped to asset geo-locations, telemetry per turbine (aligned UTC), park-level aggregates Geo-spatial join (grid → asset), time series alignment, asset hierarchy modelling, dual access (analysis + pipeline)
Gold Power forecasts per turbine & per park, confidence intervals, model accuracy metrics SLA, latency, granularity (turbine vs. park), serving to trading/scheduling systems

Databricks Components — The Decision Map

As Tech Lead, you pick from these building blocks. Here's how they map to weather-to-power:

ComponentWhat It DoesYour Use Case
Delta Lake ACID storage layer on object storage All tables are Delta. Time travel reproduces any forecast. Concurrent reads (analysts) and writes (pipeline) are safe.
Unity Catalog Governance: access control, lineage, discovery Separate catalogs for dev/prod. Track which weather model + asset version produced which forecast. Asset hierarchy as managed tables.
Workflows (Jobs) Orchestrate multi-task pipelines Scheduled pipeline: ingest weather → geo-map to assets → engineer features → run model per park → publish forecast.
Delta Live Tables Declarative ETL with built-in quality checks Expectations on time series (e.g., "wind speed ≥ 0", "no gaps > 1h"). Quality gates before ML consumption.
MLflow ML lifecycle: tracking, registry, serving Track experiments per asset type. Register champion model. Serve per-turbine or per-park predictions.
Clusters Managed Spark compute Job clusters (ephemeral) for pipeline runs. Interactive clusters for data scientists exploring time series.
SQL Warehouses Serverless SQL compute Analysts query Silver/Gold time series. Dashboards for forecast accuracy per park. The "analysis" access path.

The End-to-End Picture

Here's how a single forecast cycle flows through Databricks:

Weather API ECMWF / GFS / DWD Asset Registry Parks, turbines, geo-loc Bronze Raw GRIB → Parquet Raw SCADA telemetry Asset master data (all time series raw, no transforms) geo-join Silver Weather TS per asset Telemetry per turbine Park-level aggregates ↕ Dual access: pipeline + analysis Feature Store ML features per asset ML Model MLflow: per-turbine or park Gold Forecast: kW/turbine Forecast: MW/park Downstream Apps Trading / Scheduling / Grid (consume via API or table) Analysis SQL Warehouse / Notebooks ad-hoc queries Unity Catalog — Governance, Lineage, Access Control
Dual Access — The Architecture That Serves Both Paths Silver-layer time series tables (weather per asset, telemetry per turbine) are the single source of truth. The production pipeline reads them on schedule to produce forecasts. Analysts query the same tables interactively via SQL Warehouses or notebooks. Delta Lake makes this safe: concurrent reads never block writes, and time travel lets analysts pin to a consistent snapshot without interfering with pipeline freshness.

Your First Architectural Decision

As Tech Lead, one of your earliest decisions is: Delta Live Tables (DLT) vs. custom Spark jobs orchestrated by Workflows?

CriterionDelta Live TablesCustom Spark + Workflows
Setup effortLower — declarative SQL/PythonHigher — imperative code
Data qualityBuilt-in expectationsYou write validation logic
FlexibilityConstrained to DLT patternsFull control
Cost visibilityOpaque (enhanced tier pricing)Transparent cluster costs
Complex logicHarder for custom file formatsEasy — plain Spark code
Recommendation for weather-to-power Weather data arrives in specialised formats (GRIB2, NetCDF) that need custom parsing libraries (cfgrib, xarray). This pushes Bronze ingestion toward custom Spark jobs. Silver/Gold transformations — mostly SQL-expressible — can benefit from DLT's declarative quality checks. A hybrid approach is common.

Check Your Understanding

In the medallion architecture, where does raw GRIB weather data first land?

Correct. Bronze is the landing zone — raw, immutable, append-only. No transformation happens here. This preserves full fidelity for reprocessing.
Not quite. Bronze is always the first stop. Raw data lands unmodified so you can always reprocess from source if your transformation logic changes.

Which Databricks component tracks ML experiments and serves the champion power forecast model?

Correct. MLflow handles the ML lifecycle end-to-end: experiment tracking (hyperparameters, metrics), model registry (versioning, stage promotion), and model serving (real-time or batch endpoints).
MLflow is the answer. While Unity Catalog does govern model access, it's MLflow that actually tracks experiments, registers model versions, and serves predictions.

Why might you choose custom Spark jobs over Delta Live Tables for Bronze weather ingestion?

Exactly. GRIB2 and NetCDF require specialised libraries (cfgrib, xarray, eccodes) that work best in imperative Spark/Python code. DLT excels at SQL-expressible transformations, not custom binary format parsing.
The key reason is format complexity. GRIB2 and NetCDF are domain-specific binary formats that require specialised parsing libraries — this doesn't fit DLT's declarative model well.

How does the lakehouse enable dual access — analysts querying time series while the production pipeline writes new data?

Correct. Delta Lake uses multi-version concurrency control (MVCC). Readers see a consistent snapshot while writers append new data. No locks, no copies, no coordination needed. Analysts can even use time travel to pin to a specific version.
The answer is MVCC. Delta Lake's transaction log allows multiple concurrent readers and writers without interference. No data copying or scheduling workarounds needed.

Primary Source

📖 Recommended Reading

What is a data lakehouse? — Databricks Documentation. ~10 min read. This is the canonical explanation of how Delta Lake, Unity Catalog, and compute come together. Read sections 1–3 for the foundation this lesson builds on.

What's Next

Now that you have the architectural map, the next lesson will zoom into modelling assets and time series in Delta Lake — how to structure tables for the asset hierarchy (park → turbine), partition time series for performance, and enable the dual-access pattern.


Questions? Anything unclear? Ask your teacher (this agent) — I can clarify any concept, dive deeper into a component, or adjust the pace.

Rechtliches: Impressum