https://github.com/tuni56/etl_miniproject
Pipeline ETL in AWS
https://github.com/tuni56/etl_miniproject
automation aws-s3 data-engineering data-science etl-pipeline lambda-functions python3
Last synced: 9 months ago
JSON representation
Pipeline ETL in AWS
- Host: GitHub
- URL: https://github.com/tuni56/etl_miniproject
- Owner: tuni56
- License: mit
- Created: 2025-01-31T15:44:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-02T12:29:16.000Z (over 1 year ago)
- Last Synced: 2025-04-02T07:12:14.015Z (over 1 year ago)
- Topics: automation, aws-s3, data-engineering, data-science, etl-pipeline, lambda-functions, python3
- Language: Python
- Homepage:
- Size: 324 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# etl_miniproject con python y AWS S3
## 🎯 Objetivo
Crear un pipeline ETL (Extract, Transform, Load) en AWS que:
Extraiga datos desde un archivo CSV en un bucket de S3.
Transforme los datos con Pandas en Python (limpieza, normalización, agregaciones).
Cargue los datos procesados en otro bucket de S3 o en una base de datos como Amazon RDS.
## 🛠 Tecnologías
✅ Python (Pandas, Boto3)
✅ AWS S3 (para almacenamiento de datos)
✅ AWS IAM (gestión de permisos)
✅ Docker (opcional, para ejecutar en un contenedor)
✅ Jupyter Notebook o Script Python (para desarrollo y pruebas)
## 📌 Pasos del Proyecto
### 🔹 1. Configuración de AWS S3 e IAM
Crear un bucket de S3 llamado etl-source-data para almacenar los datos sin procesar.
Crear otro bucket etl-processed-data para los datos transformados.
Crear un usuario IAM con permisos para S3 (s3:PutObject, s3:GetObject, etc.).
Configurar credenciales en ~/.aws/credentials o usar variables de entorno.
### 🔹 2. Subir un Dataset a S3
Descargar un dataset público (por ejemplo, sobre ventas, clima, etc.).
Subirlo manualmente a etl-source-data o usar un script Python con Boto3.
### 🔹 3. Desarrollo del Script ETL con Python
El script debe:
Extraer el archivo CSV desde S3.
Transformar los datos (limpieza, conversión de tipos, agregaciones).
Cargar los datos procesados en otro bucket o en RDS.
### 🔹 4. Automatización con AWS Lambda (Opcional)
Subir el script a AWS Lambda.
Configurar un trigger para ejecutarlo cada vez que se suba un nuevo archivo a S3.