Case 02 / 04 · 2025
Fingrid Data Platform
An end-to-end Azure lakehouse that turns Finland's national power-grid API into governed, analytics-ready data — built declaratively, shipped through CI/CD.
- Azure Data Factory
- ADLS Gen2
- Databricks
- Delta Lake
- Power BI
- Azure DevOps
01 · The problem
Fingrid — the operator of Finland’s national power grid — publishes live grid and energy-market data through an open API. Raw, high-frequency, and time-series by nature, it is a long way from something an analyst can trust.
I built a cloud-native platform that ingests that API, governs it, and models it into a single source of truth for reporting — with no manual steps and full reproducibility across environments.
02 · Architecture
Source
Fingrid Open API
Live grid and energy-market data — high-frequency, paginated, time-series by nature.
Ingest
Azure Data Factory
One parameterized pipeline serves every endpoint: a Lookup reads the control table, a ForEach fans the copy out — batch size configurable per source.
Land
ADLS Gen2 landing zone
Each run copies only the new time-window — an Until loop walks the watermark forward, then writes the refreshed timestamp back.
Transform
Databricks medallion on Delta
- Bronze Raw, as landed — ACID transactions · schema enforcement
- Silver Validated · cleansed · conformed
- Gold Business-ready star schema
Serve
Gold star schema
The single source of truth for reporting.
→ Power BI
A single control table holds every source’s state and parameters — endpoints, watermarks, batch sizes — so loads stay incremental, cheap, and idempotent.
Commit
GitHub
Feature branches merge to main — the factory is code.
Build
Azure DevOps pipeline
builds the Data Factory release artifact once; every environment gets the same build
Dev
ADF · development
where data engineers author and commit
data platform · dev env
Test
ADF · test
QA engineers validate the release against real loads
data platform · test env
Prod
ADF · production
business users consume governed, analytics-ready data
data platform · production env
03 · How it works
-
Metadata-driven ingestion
A single control table holds the state and parameters for every source, so one parameterized pipeline ingests every endpoint at a configurable batch size — instead of a brittle pipeline per source.
-
Incremental by watermark
Each run reads the last-loaded window from the control table, copies only the new slice in an Until loop, then writes the refreshed timestamp back — so loads stay cheap and idempotent.
-
Medallion lakehouse on Delta
Bronze (raw) → silver (validated) → gold (business-ready) on Delta Lake, with ACID transactions and schema enforcement, ending in a gold star schema as the single source of truth.
-
Governed and reproducible
Unity Catalog governs access and lineage, and the whole platform deploys declaratively, promoted through CI/CD across Dev, Test, and Production.
04 · Proof


05 · Outcome
The result is a hands-off platform: new grid data lands, is validated, and reaches Power BI without anyone touching it — governed end to end and reproducible across every environment.
View the code Ask the assistant about this