05. Pipeline ETL¶
La capa ETL consiste en tres repositorios Python especializados que ingieren, transforman y cargan datos climáticos en la base de datos de AClimate v3.
Vista General del Pipeline¶
flowchart LR
subgraph "Fuentes de Datos"
ERA5[ERA5]
CHIRPS[CHIRPS]
AGERA5[AgERA5]
STATIONS[Estaciones Meteorológicas<br/>IDEAM, METOS, etc.]
end
subgraph "Procesamiento ETL"
CSD[cut_spatial_data<br/>Recorte Espacial]
HSE[historical_spatial_etl<br/>Datos Grillados]
HLE[historical_location_etl<br/>Datos de Estaciones]
end
subgraph "Salida"
DB[(PostgreSQL<br/>BD AClimate)]
SDB[(BD Espacial<br/>AClimate)]
end
ERA5 --> CSD
CHIRPS --> CSD
CSD --> HSE
HSE --> SDB
STATIONS --> HLE
HLE --> DB
Vista General de Repositorios¶
| Repositorio | Propósito | Tipo de Procesamiento |
|---|---|---|
| aclimate_cut_spatial_data | Recorte espacial de conjuntos de datos climáticos (NetCDF, GeoTIFF) usando shapefiles, GeoServer o geometrías PostGIS | Preprocesamiento raster |
| aclimate_v3_historical_spatial_etl | Procesamiento de datos climáticos grillados (ERA5, CHIRPS, datos locales) | Indicadores espaciales y agregación |
| aclimate_v3_historical_location_etl | Procesamiento de datos climáticos de estaciones | Indicadores puntuales, control de calidad |
Controles de Calidad de Datos¶
Todos los ETL implementan los siguientes controles de calidad:
| Verificación | Descripción | Acción en caso de fallo |
|---|---|---|
| Validación de esquema | Los datos coinciden con el esquema ORM | Registro rechazado, registrado |
| Validación de rango | Valores dentro de límites esperados | Marcado, registrado |
| Completitud | Campos obligatorios presentes | Registro rechazado |
| Detección de duplicados | Registros existentes verificados | Omitido o actualizado |
Idempotencia¶
Todos los ETL están diseñados para ser idempotentes: misma entrada más misma configuración produce la misma salida. Las ejecuciones duplicadas no crean registros duplicados. El reprocesamiento se puede activar para rangos de tiempo o ubicaciones específicas.
Contenido de la Sección¶
- cut_spatial_data — 4 métodos de recorte para preprocesamiento de datos espaciales
- historical_spatial_etl — Conectores de clima grillado, agregadores, 8 indicadores espaciales
- historical_location_etl — Procesamiento de datos de estaciones, validadores, 4 indicadores puntuales