End-to-end streaming flight data pipeline on Microsoft Fabric: real-time ingestion with Eventstream, dual sinks to Lakehouse & Eventhouse, star-schema transforms, incremental loads into Warehouse, semantic modeling, and both live & historical dashboards.
This repository implements a real-time streaming analytics solution for flight operations using Microsoft Fabric. It demonstrates:
- Real-time ingestion of flight data from an external API into an Eventstream.
- Field mapping and routing to simultaneously sink events into a Lakehouse (
LH_Flights) and an Eventhouse (EH_Flights) backed by a KQL database. - Batch transformations to build a star schema in the Lakehouse via PySpark.
- Incremental, watermark-driven loads from Lakehouse to Warehouse (
WH_Flights) orchestrated by a Fabric pipeline. - Custom semantic model (
SM_Flights) with DAX measures and hierarchies. - Delivery of insights through a live KQL-based dashboard and a Power BI report.
- Real-Time Ingestion: Notebook
NB_Flightsfetches data from the flight API and streams JSON toES_Flights. - Eventstream (
ES_Flights): AppliesmanageFieldstransformations and routes to:- Lakehouse: Raw Delta table
flightsinLH_Flights(created viacreateLakehouseTable). - Eventhouse: Table in KQL database
EH_Flightspowering real-time dashboards.
- Lakehouse: Raw Delta table
- Automated Pipeline (
PL_Flights): - Star Schema Transform: Notebook
Transform_Flightsreads Deltaflightsand generates:- Dimensions: Airlines, Airports, Dates.
- Fact table:
fact_flights.
- Incremental Load: Notebook
GetLakehouseWatermarkand pipelinePL_Flightsperform:- Lookup of max
IngestedAt. - Copy & Script activities to upsert new records into
WH_Flights.
- Lookup of max
- Semantic Modeling:
SM_Flightsdefines measures, display folders, and hierarchies over Warehouse tables. - Visualization:
- Live Dashboard:
FlightOpsCenterin Fabric using pinned KQL querysets onEH_Flights. - Power BI Report:
FlightsOpsCenter.pbixbuilt onSM_Flights.
- Live Dashboard:
fabric-realtime-flight-ops/
├── chore/ # Fabric artifact provisioning
│ ├── EH_Flights/ # Eventhouse & KQL DB definitions
│ ├── KQL_Querysets/ # Saved KQL queries for dashboards
│ ├── LH_Flights/ # Lakehouse Delta table definitions
│ ├── WH_Flights/ # Warehouse table & view scripts
│ ├── SM_Flights/ # Semantic model metadata
│ └── createLakehouseTable.ipynb
├── orchestration/ # Data ingestion & processing
│ ├── NB_Flights.ipynb # API ingestion to Eventstream
│ ├── ES_Flights/ # Eventstream manageFields config
│ ├── Transform_Flights.ipynb# PySpark star-schema transforms
│ ├── GetLakehouseWatermark.ipynb
│ └── PL_Flights/ # Pipeline JSON definitions
└── delivery/ # Reporting artifacts
├── FlightOpsCenter_Dashboard/
│ └── FlightOpsCenter # KQL-based real-time dashboard
└── FlightsOpsCenter.pbix # Power BI report
Assets: screenshots and GIFs live in docs/assets/.
- Microsoft Fabric workspace with:
- Lakehouses, Warehouses, Pipelines, Notebooks, Eventstream & Eventhouse enabled.
- KQL database support.
- API endpoint & credentials for flight data.
- Power BI Desktop for editing & publishing
.pbixfiles.
- Clone Repository
git clone https://github.com/your-org/fabric-realtime-flight-ops.git cd fabric-realtime-flight-ops - Git Integration
- Connect your Fabric workspace to this repo under Settings → Git integration.
- Configure Secrets
- In Fabric Studio → Manage → Secrets, add your flight API credentials.
- Publish Artifacts
- In the Develop tab, publish all folders:
chore,orchestration,delivery.
- In the Develop tab, publish all folders:
- Set Up Pipeline Trigger
- Edit the
PL_Flightstrigger: schedule at your desired interval (e.g., every minute).
- Edit the
- Monitor & Visualize
- In Orchestrate → Pipeline runs, watch
PL_Flights. - View live dashboard under Monitor → Reports →
FlightOpsCenter. - Open the Power BI report in delivery or in Power BI Service.
- In Orchestrate → Pipeline runs, watch
Contributions welcome! Please:
- Fork & branch:
feature/<name>orfix/<issue>. - Add or update assets in the appropriate folder.
- Commit & push, then open a Pull Request against
main.
MIT License.