Skip to main content

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.).