This repository contains a Python-based ELT (Extract, Load, Transform) application built using Meltano and leveraging the SpaceX API. The application extracts data from the SpaceX API, performs transformations using dbt (Data Build Tool), and loads the transformed data into a PostgreSQL database.
- Custom Extractor Tap: Utilizes a custom extractor tap to pull data from the SpaceX API into streams.
- Data Loading: Loads the extracted data into PostgreSQL databases.
- Transformations: Applies dbt transformations to the extracted data, enabling powerful and customizable data processing workflows.
- Dockerized Deployment: Provides Docker Compose configurations for simplified deployment and environment setup.
- Docker
- Python 3.x
- PostgreSQL
-
Clone this repository:
git clone https://github.com/your-username/your-repo.git
-
Navigate to the project directory:
-
Update the
.env
file with your PostgreSQL database credentials and configurations. -
Build and run the Docker containers:
-
Access the Meltano UI at
http://localhost:5000
to manage and monitor your ELT pipelines.
meltano.yml
: Configuration file for Meltano, specifying extractors, loaders, utilities, jobs, and schedules.docker-compose.yml
: Docker Compose configuration for the development environment..env
: Environment variables file containing database credentials and configurations.custom_extractor/
: Directory containing the custom extractor tap code.transformations/
: Directory containing dbt transformation models.
This ELT application was created by Syed Muneeb Hussain and is based on the Meltano framework.