Skip to content

NouriRD/databricks-streaming-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

56 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ End-to-End GitHub Streaming Data Pipeline on Databricks

Databricks PySpark Delta Lake Python GitHub


๐Ÿ“Œ Project Overview

This project demonstrates an end-to-end streaming data pipeline built on Databricks Free Edition using the Medallion Architecture (Bronze โ†’ Silver โ†’ Gold).

GitHub Events are collected through the GitHub REST API, stored as JSON files in Databricks Volumes, automatically ingested with Auto Loader, processed with Structured Streaming and PySpark, transformed into analytical datasets, and finally exposed as business KPIs through Gold tables and dashboards.

The project follows modern Data Engineering best practices including:

  • Incremental ingestion
  • Delta Lake
  • Unity Catalog
  • Databricks Workflows
  • Structured Streaming
  • Auto Loader
  • Layered Lakehouse Architecture

๐Ÿ— Architecture

Architecture Diagram


๐Ÿ› Medallion Architecture

๐Ÿฅ‰ Bronze Layer

Raw GitHub Events are ingested from the GitHub REST API.

Responsibilities:

  • Raw JSON storage
  • Incremental ingestion
  • Auto Loader
  • Streaming ingestion

๐Ÿฅˆ Silver Layer

Data cleaning and transformation.

Responsibilities:

  • Parse nested JSON
  • Extract useful fields
  • Standardize columns
  • Data preparation

๐Ÿฅ‡ Gold Layer

Business-ready analytical tables.

KPIs include:

  • Top Event Types
  • Top GitHub Users
  • Top Repositories
  • Daily Activity

โš™ Technologies Used

Category Technology
Platform Databricks Free Edition
Language Python
Processing PySpark
Streaming Structured Streaming
Storage Delta Lake
Ingestion GitHub REST API
Governance Unity Catalog
Storage Layer Databricks Volumes
Workflow Databricks Jobs
Visualization Databricks Dashboard
Version Control Git & GitHub

๐Ÿ“‚ Repository Structure

databricks-streaming-project/

โ”‚
โ”œโ”€โ”€ notebooks/
โ”‚   โ”œโ”€โ”€ 00_config
โ”‚   โ”œโ”€โ”€ 01_ingestion
โ”‚   โ”œโ”€โ”€ 02_bronze
โ”‚   โ”œโ”€โ”€ 03_silver
โ”‚   โ”œโ”€โ”€ 04_gold
โ”‚   โ””โ”€โ”€ 05_dashboard
โ”‚
โ”œโ”€โ”€ architecture/
โ”‚
โ”œโ”€โ”€ screenshots/
โ”‚
โ”œโ”€โ”€ docs/
โ”‚
โ””โ”€โ”€ README.md

๐Ÿ”„ Data Pipeline Flow

Architecture Diagram

๐Ÿš€ Pipeline Workflow

The pipeline is orchestrated using Databricks Workflows.

Execution Order:

  1. GitHub API Ingestion
  2. Bronze Streaming
  3. Silver Transformation
  4. Gold KPI Generation

The workflow automatically executes tasks according to their dependencies.


๐Ÿ“Š Gold KPIs

The project generates business-ready analytical tables:

  • Top Event Types
  • Top GitHub Users
  • Top Repositories
  • Daily Activity

These tables can be directly consumed by dashboards or BI tools.


๐Ÿ“ˆ Dashboard

The dashboard displays:

  • GitHub Event Distribution
  • Most Active Users
  • Most Active Repositories
  • Daily GitHub Activity

(Dashboard screenshots will be added in the screenshots folder.)


๐Ÿ“ฆ Databricks Components Used

  • Unity Catalog
  • Catalogs
  • Schemas
  • Volumes
  • Auto Loader
  • Structured Streaming
  • Delta Tables
  • Databricks Jobs
  • Workflows
  • Dashboards

โœจ Project Features

โœ” GitHub REST API Integration

โœ” Incremental Data Ingestion

โœ” Databricks Auto Loader

โœ” Structured Streaming

โœ” Delta Lake

โœ” Unity Catalog

โœ” Bronze / Silver / Gold Architecture

โœ” Workflow Orchestration

โœ” Dashboard Reporting

โœ” End-to-End Data Pipeline


๐Ÿ“ธ Project Screenshots

Architecture

Architecture

Databricks Workspace

Workspace

Job Workflow

Jobs

Unity Catalog

Catalog

Volume

Volume

Gold Table

Gold

Gold

Dashboard

Dashboard

Dashboard

Dashboard


๐Ÿ”ฎ Future Improvements

  • Delta Live Tables (DLT)
  • MERGE INTO Incremental Processing
  • Data Quality Expectations
  • CI/CD Deployment
  • Terraform Infrastructure
  • Azure DevOps / GitHub Actions
  • Monitoring & Alerts

๐Ÿ‘จโ€๐Ÿ’ป Author

Noureddine RIDA

Data Engineer | Python | PySpark | Databricks | SQL

GitHub: https://github.com/NouriRD

LinkedIn: https://www.linkedin.com/in/noureddine-rida-6b482195/


โญ If you found this project useful

Please consider giving it a โญ on GitHub.

About

End-to-End GitHub Streaming Data Pipeline using Databricks, Auto Loader, Delta Lake, Unity Catalog, and Medallion Architecture.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors