A fully containerized Serverless Lakehouse architecture demonstrating Medallion architecture (Bronze, Silver, Gold), ACID transactions on a data lake using Apache Iceberg, and PySpark for big data processing.
- Storage: MinIO (AWS S3 Compatible Object Storage)
- Compute: PySpark / Jupyter
- Table Format: Apache Iceberg
- Infrastructure: Docker & Docker Compose
This project implements the Medallion Architecture:
- Bronze Layer: Raw
yellow_tripdataParquet files ingested directly into MinIO storage as Apache Iceberg tables. - Silver Layer: Filtered and cleaned data. Demonstrated Iceberg's ACID compliance by performing row-level
UPDATEaggregations andALTER TABLEschema evolutions directly on the S3 bucket. - Gold Layer: Heavily aggregated business-level tables (e.g., daily revenue, ride counts) structured specifically for fast BI and visualization querying.
- Ensure Docker and Docker Compose are installed.
- Run the infrastructure:
docker-compose up -d
- Log into the MinIO console (
localhost:9001) withadmin/passwordand create a bucket namedlakehouse. - Open the Jupyter notebook via the Docker logs and run all cells sequentially to trigger the PySpark ETL process and plot the final Gold datasets.