This project demonstrates a production-style batch analytics data platform built using modern data engineering tools.
It simulates a real-world sales pipeline that:
- Generates raw data
- Orchestrates workflows
- Processes data using distributed computing
- Stores results in a warehouse
- Delivers business insights via BI dashboards
The entire system is fully containerized using Docker and orchestrated via Apache Airflow.
Data Flow:
Python Data Generator
↓
Apache Airflow (Orchestration)
↓
MinIO (Raw Data Lake Layer - S3 Compatible)
↓
Apache Spark (Distributed Transformation Engine)
↓
PostgreSQL (Analytics Warehouse)
↓
Power BI (Business Intelligence Dashboard)
- Synthetic sales data generated using Python
- Includes product, country, quantity, price, and order date
- Output: CSV files
- Schema checks\
- Null handling\
- Data integrity verification
- CSV files uploaded into MinIO bucket\
- Organized by date partitions\
- S3-compatible object storage
- Reads raw CSV\
- Computes revenue (
quantity × price)\ - Writes transformed data as Parquet\
- Runs on Spark Standalone Cluster (Master + Worker)
- Loads processed data into
sales_raw - Aggregations for analytics
- Optimized for BI queries
- Connects directly to PostgreSQL\
- Country-level revenue\
- Product-level breakdown\
- Time-based moving averages
Layer Technology
Orchestration Apache Airflow Distributed Processing Apache Spark Object Storage MinIO (S3 Compatible) Data Warehouse PostgreSQL Containerization Docker & Docker Compose Visualization Power BI Programming Python (Pandas, PySpark)
All services run inside Docker containers:
- Airflow (Scheduler + Webserver)
- Spark Master
- Spark Worker
- PostgreSQL
- MinIO
docker compose up -dSELECT country,
SUM(quantity * price) AS total_revenue
FROM sales_raw
GROUP BY country
ORDER BY total_revenue DESC;✔ Batch Processing Architecture
✔ DAG-based Workflow Orchestration
✔ Distributed Spark Computing
✔ Data Lake → Warehouse Design
✔ Containerized Infrastructure
✔ SQL Analytics & Aggregations
✔ End-to-End Data Lifecycle
This mirrors real-world enterprise data platforms:
- Modular microservices
- Clear data layering
- Scalable transformation engine
- Orchestrated workflow execution
- Business-ready analytics output
- Partitioned Parquet optimization
- Slowly Changing Dimensions (SCD Type 2)
- CI/CD Integration
- Cloud deployment (AWS / GCP)
- Monitoring with Prometheus & Grafana
- Data Quality validation framework
Mukesh Thenraj
M.Sc. Automation & AI
Data Engineering & Machine Learning
Germany
Feel free to star the repository and connect with me on LinkedIn!







