Struttura del corso
Introduzione, Obiettivi e Strategia di Migrazione
- Obiettivi del corso, allineamento del profilo dei partecipanti e criteri di successo
- Approcci alla migrazione ad alto livello e considerazioni sui rischi
- Configurazione di workspace, repository e set di dati per il laboratorio
Giorno 1 — Fondamenti della migrazione e Architettura
- Concetti di Lakehouse, panoramica di Delta Lake e architettura Databricks
- Differenze tra SMP e MPP e implicazioni per la migrazione
- Progettazione Medallion (Bronze→Silver→Gold) e panoramica di Unity Catalog
Lab del Giorno 1 — Traduzione di una procedura archiviata
- Migrazione pratica di una procedura archiviata di esempio in un notebook
- Mappatura di tabelle temporanee e cursori su trasformazioni DataFrame
- Validazione e confronto con l'output originale
Giorno 2 — Delta Lake avanzato e Caricamento incrementale
- Transazioni ACID, log di commit, versioning e time travel
- Auto Loader, pattern MERGE INTO, upsert ed evoluzione dello schema
- OPTIMIZE, VACUUM, Z-ORDER, partizionamento e tuning dello storage
Lab del Giorno 2 — Ingestione incrementale e Ottimizzazione
- Implementazione dell'ingestione con Auto Loader e dei flussi di lavoro MERGE
- Applicazione di OPTIMIZE, Z-ORDER e VACUUM; validazione dei risultati
- Misurazione dei miglioramenti delle prestazioni di lettura/scrittura
Giorno 3 — SQL in Databricks, Prestazioni e Debug
- Funzionalità SQL analitiche: funzioni di finestra, funzioni di ordine superiore, gestione di JSON/array
- Lettura della Spark UI, DAG, shuffles, stage, task e diagnosi delle colli di bottiglia
- Pattern di tuning delle query: broadcast joins, hint, caching e riduzione dello spill
Lab del Giorno 3 — Refactoring SQL e Tuning delle prestazioni
- Refactoring di un processo SQL pesante in Spark SQL ottimizzato
- Utilizzo delle tracce Spark UI per identificare e risolvere problemi di skew e shuffle
- Benchmark prima/dopo e documentazione dei passaggi di tuning
Giorno 4 — PySpark tattico: Sostituzione della logica procedurale
- Modello di esecuzione Spark: driver, executors, valutazione pigra e strategie di partizionamento
- Trasformazione di loop e cursori in operazioni DataFrame vettorizzate
- Modularizzazione, UDF/pandas UDF, widget e librerie riutilizzabili
Lab del Giorno 4 — Refactoring di script procedurali
- Refactoring di uno script ETL procedurale in notebook PySpark modulari
- Introduzione di parametrizzazione, test di tipo unitario e funzioni riutilizzabili
- Rassegna del codice e applicazione della checklista delle migliori pratiche
Giorno 5 — Orchestrazione, Pipeline end-to-end e Migliori pratiche
- Databricks Workflows: progettazione dei job, dipendenze dei task, trigger e gestione degli errori
- Progettazione di pipeline Medallion incremental con regole di qualità e validazione dello schema
- Integrazione con Git (GitHub/Azure DevOps), CI e strategie di test per la logica PySpark
Lab del Giorno 5 — Creazione di una Pipeline completa end-to-end
- Assemblaggio della pipeline Bronze→Silver→Gold orchestrata con Workflows
- Implementazione di log, auditing, retry e validazioni automatizzate
- Esecuzione della pipeline completa, validazione degli output e preparazione delle note di deployment
Operazionalizzazione, Governance e Prontezza per la produzione
- Governance Unity Catalog, lineage e migliori pratiche per i controlli di accesso
- Costi, dimensionamento dei cluster, autoscaling e pattern di concorrenza dei job
- Checklist di deployment, strategie di rollback e creazione di runbook
Riveduta finale, Trasferimento delle conoscenze e Prossimi passi
- Presentazioni dei partecipanti sul lavoro di migrazione e lezioni apprese
- Analisi dei gap, attività di follow-up consigliate e consegna dei materiali formativi
- Riferimenti, percorsi di apprendimento aggiuntivi e opzioni di supporto
Requisiti
- Una comprensione dei concetti di ingegneria dei dati
- Esperienza con SQL e procedure archiviate (Synapse / SQL Server)
- Familiarità con i concetti di orchestrazione ETL (ADF o simile)
Pubblico target
- Manager tecnologici con un background nell'ingegneria dei dati
- Ingegneri dei dati che stanno migrando la logica OLAP procedurale verso i pattern Lakehouse
- Ingegneri della piattaforma responsabili dell'adozione di Databricks