Scopo e contesto
La repository dwh_utility ha come obiettivo principale la gestione dei processi ETL (Extract, Transform, Load) che permettono di:
-
estrarre dati da portali e sistemi esterni (API, file Excel, portali web, ecc.);
-
trasformarli in formati coerenti e puliti, applicando eventuali regole aggiunitve;
-
caricarli all’interno del Data Warehouse (DWH) aziendale, mantenendo le tabelle aggiornate e coerenti.
L’automazione di questi processi garantisce che i dataset del DWH siano sempre allineati con le fonti operative e possano essere utilizzati in maniera affidabile per analisi, dashboard e reportistica.
đź”§ Contesto tecnico
-
Ogni file Python della repository rappresenta, in generale, uno script ETL autonomo, responsabile dell’aggiornamento di una specifica tabella o di un insieme di tabelle.
-
L’esecuzione degli script è gestita tramite Ansible, che permette di:
-
pianificare e schedulare l’esecuzione periodica dei processi (simile a cron, ma centralizzato e gestito via playbook);
-
distribuire e lanciare gli script in maniera automatizzata o su richiesta;
-
mantenere una gestione degli script ordinata per aree.
-
-
I log di esecuzione di ciascuno script vengono raccolti centralmente e sono consultabili su Grafana, permettendo:
-
il monitoraggio in tempo reale;
-
l’analisi degli errori;
-
la storicizzazione delle esecuzioni ETL.
-
-
Il sistema consente di:
-
pianificare l’esecuzione periodica (cron-like scheduling via Ansible);
-
gestire retry e logging centralizzato;
-
isolare eventuali errori a livello di singolo script senza impattare gli altri processi.
-
🏗️ Obiettivi principali
-
Automatizzare i flussi di integrazione dati riducendo le attivitĂ manuali e il rischio di errore.
-
Creare un framework modulare in cui ogni script Python possa essere sviluppato, testato e schedulato indipendentemente.
-
Mantenere aggiornate e consistenti le tabelle core del DWH aziendale, che sono utilizzate come base per analisi HR, finanziarie e operative.
-
Fornire una documentazione centralizzata che descriva chiaramente:
-
quali fonti vengono integrate,
-
quali tabelle vengono popolate,
-
le dipendenze tra processi
-
📌 Ambito di utilizzo
Questa repository è utilizzata principalmente dal team di Business Intelligence per:
-
sviluppare e manutenere i processi ETL;
-
monitorare l’aggiornamento dei dati tramite Grafana;
-
orchestrare e pianificare i job tramite Ansible;
-
fornire basi dati consistenti ad analisti e stakeholder aziendali (HR, Finance, Cost Control, ecc.).
No Comments