DOCUMENTACION

PIPELINE ETL — CALIDAD DEL AIRE EN INDIA

Pipeline end-to-end para procesar el dataset Air Quality Data in India (Kaggle). Los datos se procesan en zonas progresivas hasta generar analisis y visualizaciones.

OBJETIVO

Disenar e implementar un pipeline ETL completo para datos de calidad del aire en India, desde la ingesta de archivos CSV crudos hasta la transformacion, codificacion y carga en formato Parquet para analisis posterior con Apache Spark y visualizacion en dashboard.

ARQUITECTURA POR ZONAS

LANDING ZONEdata/landing-zone

Archivos CSV descargados directamente de Kaggle mediante scripts/extract.py.

RAW ZONEdata/raw-zone

Informes de calidad generados con ydata_profiling; los HTML se guardan en data/raw-zone/data_quality_reports.

REFINED ZONEdata/refined-zone

Datos transformados, AQI_Bucket codificado numericamente y guardados en Parquet. Incluye aqi_bucket_mapping.json.

ESQUEMA DE DATOS

city_day

Mediciones agregadas por ciudad y dia — PM2.5, PM10, NO2, SO2, CO, O3, AQI, AQI_Bucket.

city_hour

Mediciones agregadas por ciudad y hora.

station_day

Mediciones por estacion individual y dia.

station_hour

Mediciones por estacion individual y hora.

stations

Catalogo de estaciones: nombre, ciudad, estado, latitud, longitud.

CLASIFICACION AQI_BUCKET

GOOD0-50
SATISFACTORY51-100
MODERATE101-200
POOR201-300
VERY POOR301-400
SEVERE401+

El archivo data/refined-zone/aqi_bucket_mapping.json mapea cada etiqueta a un codigo numerico para ML.

RECURSOS DEL REPOSITORIO

notebooks/etl_pipeline.ipynb

Lectura y procesamiento de datos con Apache Spark.

notebooks/data_transformation.ipynb

Transformaciones, encoding y guardado en Parquet.

scripts/extract.py

Descarga del dataset desde Kaggle API.

scripts/profile.py

Generacion de informes de calidad con ydata_profiling.

scripts/transform.py

Pipeline de limpieza y transformacion.

scripts/load.py

Carga de datos transformados.