Struttura del corso
Introduzione, Obiettivi e Strategia di Migrazione
- Obiettivi del corso, allineamento del profilo dei partecipanti e criteri di successo
- Approcci generali di migrazione e considerazioni sul rischio
- Configurazione degli spazi di lavoro, repository e dataset di laboratorio
Giorno 1 — Fondamenti della Migrazione e Architettura
- Concetti Lakehouse, panoramica di Delta Lake e architettura Databricks
- Differenze tra SMP e MPP e implicazioni per la migrazione
- Design Medallion (Bronzo→Argento→Oro) e panoramica di Unity Catalog
Laboratorio del Giorno 1 — Traduzione di una Stored Procedure
- Migrazione pratica di una stored procedure campione a un notebook
- Mapping delle tabelle temporanee e cursori alle trasformazioni DataFrame
- Validazione e confronto con l'output originale
Giorno 2 — Delta Lake Avanzato & Caricamento Incrementale
- Transazioni ACID, log di commit, versioning e time travel
- Auto Loader, pattern MERGE INTO, upserts e evoluzione dello schema
- OPTIMIZE, VACUUM, Z-ORDER, partizionamento e ottimizzazione della storage
Laboratorio del Giorno 2 — Caricamento Incrementale & Ottimizzazione
- Implementazione di flussi di lavoro Auto Loader e MERGE
- Applicazione di OPTIMIZE, Z-ORDER e VACUUM; validazione dei risultati
- Misurazione delle miglioramenti delle prestazioni in lettura/scrittura
Giorno 3 — SQL in Databricks, Prestazioni & Debugging
- Funzionalità analitiche SQL: funzioni di finestra, funzioni di ordine superiore, gestione JSON/array
- Lettura dell'interfaccia utente Spark, DAGs, shuffles, stage, task e diagnosi delle bottleneck
- Pattern di ottimizzazione delle query: join broadcast, suggerimenti, caching e riduzione dello spill
Laboratorio del Giorno 3 — Rifattorizzazione SQL & Ottimizzazione Prestazioni
- Rifattorizzazione di un processo SQL pesante in Spark SQL ottimizzato
- Utilizzo delle tracce dell'interfaccia utente Spark per identificare e risolvere problemi di skew e shuffle
- Benchmark prima/dopo e documentazione dei passaggi di ottimizzazione
Giorno 4 — PySpark Tattico: Sostituzione della Logica Procedurale
- Modello di esecuzione Spark: driver, executor, valutazione lazy e strategie di partizionamento
- Trasformazione dei cicli e cursori in operazioni DataFrame vettorializzate
- Modularizzazione, UDFs/pandas UDFs, widget e librerie riutilizzabili
Laboratorio del Giorno 4 — Rifattorizzazione di Script Procedurali
- Rifattorizzazione di uno script ETL procedurale in notebook PySpark modulari
- Introduzione della parametrizzazione, test unitari e funzioni riutilizzabili
- Revisione del codice e applicazione di un elenco di controllo delle best practice
Giorno 5 — Orchestrazione, Pipeline End-to-End & Best Practice
- Databricks Workflows: design dei job, dipendenze delle task, trigger e gestione degli errori
- Progettazione di pipeline Medallion incrementalmente con regole di qualità e validazione dello schema
- Integrazione con Git (GitHub/Azure DevOps), CI e strategie di test per la logica PySpark
Laboratorio del Giorno 5 — Costruzione di una Pipeline End-to-End Completa
- Assemblaggio della pipeline Bronzo→Argento→Oro orchestrata con Workflows
- Implementazione di logging, auditing, retry e validazioni automatizzate
- Esecuzione della pipeline completa, validazione degli output e preparazione delle note per il deployment
Operationalizzazione, Governance e Prontezza alla Produzione
- Best practice di governance Unity Catalog, linfa e controlli di accesso
- Costi, dimensionamento dei cluster, autoscaling e pattern di concorrenza dei job
- Checklist per il deployment, strategie di rollback e creazione del runbook
Revisione Finale, Transfer di Conoscenza e Passi Successivi
- Presentazioni dei partecipanti sul lavoro di migrazione e lezioni apprese
- Analisi dei gap, attività consigliate per il follow-up e consegna del materiale didattico
- Riferimenti, percorsi di apprendimento ulteriori e opzioni di supporto
Requisiti
- Comprensione dei concetti dell'ingegneria dei dati
- Esperienza con SQL e stored procedures (Synapse / SQL Server)
- Familiarità con i concetti di orchestrazione ETL (ADF o simili)
Pubblico Obiettivo
- Responsabili tecnici con competenze nell'ingegneria dei dati
- Ingegneri dei dati che trasformano logiche procedurali OLAP in pattern Lakehouse
- Ingegneri di piattaforma responsabili dell'adozione di Databricks