The Weather ETL Pipeline is designed to automate the extraction, transformation, and loading (ETL) of weather data using Apache Airflow, Docker, and Astronomer. This project retrieves real-time weather information from the Open Meteo API and stores it in a PostgreSQL database for further analysis.
- dags/: Contains the Python files for Airflow DAGs.
- weather_etl_pipeline.py: Implements the ETL process by extracting weather data, transforming it, and loading it into the database.
- Dockerfile: Specifies the versioned Astro Runtime Docker image for executing the project.
- requirements.txt: Lists the Python packages required for the project.
- plugins/: Directory for custom or community plugins.
- airflow_settings.yaml: Local configuration for Airflow Connections, Variables, and Pools.
- Python: 3.9+
- Apache Airflow: 2.5.0
- PostgreSQL: Required for data storage
- Clone the Repository:
git clone https://github.com/abu14/ETL-Weather-Airflow.git cd ETL-Weather-Airflow
- Build Docker Image
docker build -t weather-etl-pipeline .
- Start Airflow
docker-compose up
- Access the Airflow web interface at http://localhost:8080.
- Trigger the weather_etl_pipeline DAG to initiate the ETL process.
This project is licensed under the MIT License. See the LICENSE file for details.