Organizzazione degli script ETL
Questa sezione descrive come sono strutturati gli script Python della repository e quali pattern comuni devono seguire.
L’obiettivo è garantire uniformità nello sviluppo e nella manutenzione, così da facilitare debugging, schedulazione e documentazione.
Gli script ETL si possono dividere in due famiglie operative:
-
File-based ETL: leggi Excel/CSV (Dropbox/OneDrive) → trasformi → salvi CSV → carichi nel DWH.
-
API/Webscraping-based ETL: interroghi API/ fai Webscraping→ trasformi → (opz.) salvi CSV → carichi nel DWH.
Oltre a questo possono esserci script che si occupano di altri task di manutenzione o utility.
đź§© Struttura logica comune (pattern ETL)
Moduli condivisi
-
db_utils.py→ connessioni Postgres, DDL/DML helper (create table, upsert, drop by values, insert batch), e funzioni generiche -
dropbox_utils.py/ → accesso allo storage di Dropbox e OneDrive tramite rclone -
log_config.py→ logger uniforme (integrazione con Grafana via extra/fields)
Fasi
-
EXTRACT → file o API -
TRANSFORM→ rename mapping, casting, ed eventuale salvataggio temporaneo in CSV -
LOAD→ creazione di nuove tabelle, upsert/drop di nuovi dati nel DWH
No Comments