This repository documents the ETL and architecture work completed as part of a data engineering practical exercise. The project uses MongoDB for data storage and Databricks Community Edition for serverless compute.
notebook.ipynb— MongoDB-focused notebook containing the MongoDB collection work and related database logic.notebookETL.ipynb— ETL notebook that includes the Unity Catalogcustomer_csvupload and uses it as part of the ETL process.mongodbCollection.png— diagram of the MongoDB collection structure.arch.png— architecture diagram used in the notebook and project design.section3_qa.md— notes and questions for section 3 practical.
- Databricks Community Edition (free) is used for the notebook environment. Access was via https://community.cloud.databricks.com/login.html.
- Draw.io was used to create the architecture diagram (
arch.png). The tool is available at https://www.drawio.com/. - https://dbdiagram.io/ was used to create and document the MongoDB collection diagram (
mongodbCollection.png). - Serverless compute is used in Databricks Community Edition, so the project relies on MongoDB rather than Spark Maven integration for MongoDB.
- Secrets are not used due to limitations of the free Databricks Community Edition.
This project includes two distinct notebook workflows:
notebook.ipynbfor the MongoDB-related work, including collection design and MongoDB integration.notebookETL.ipynbfor the ETL workflow, which uploadscustomer_csvinto Unity Catalog and uses that data as part of the ETL pipeline.
The work covers reading, transforming, and managing data in Databricks, while documenting architecture and practical challenges in the notebook files and supporting diagrams.
- Section 3 practical challenges are documented in the notebook
notebookETL.ipynband in the separate filesection3_qa.md. - The notebooks include notes about the obstacles encountered, such as using serverless compute limitations, avoiding secret management, and adapting MongoDB usage in a free Databricks environment.
mongodbCollection.png— MongoDB collection diagram from dbdiagram.io.arch.png— architecture diagram created with draw.io.
- The project is designed around the limitations of free Databricks Community Edition and serverless compute.
- Because of these constraints, direct Spark Maven integration for MongoDB was avoided in favor of using MongoDB collection concepts and diagrams.

