Struttura del corso
Introduzione, Obiettivi e Strategia di Migrazione
- Obiettivi del corso, allineamento del profilo dei partecipanti e criteri di successo
- Approcci di migrazione a livello superiore e considerazioni sui rischi
- Configurazione degli spazi di lavoro, repository e set di dati per i laboratori
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 Giorno 1 — Traduzione di una Stored Procedure
- Migrazione pratica di una stored procedure campione a un notebook
- Mappatura delle tabelle temporanee e dei cursori alle trasformazioni DataFrame
- Validazione e confronto con l'output originale
Giorno 2 — Delta Lake Avanzato & Ingestione 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 tuning del storage
Laboratorio Giorno 2 — Ingestione Incrementale & Ottimizzazione
- Implementazione di ingestione Auto Loader e workflow MERGE
- Applicazione di OPTIMIZE, Z-ORDER e VACUUM; validazione dei risultati
- Misurazione delle miglioramenti nelle prestazioni di lettura/scrittura
Giorno 3 — SQL in Databricks, Prestazioni & Debugging
- Funzionalità analitiche SQL: funzioni di finestra, funzioni di ordine superiore, gestione JSON/array
- Lettura dell'UI Spark, DAGs, shuffles, stage, task e diagnosi dei colli di bottiglia
- Pattern di tuning delle query: join broadcast, hint, caching e riduzione dello spillover
Laboratorio Giorno 3 — Refactoring SQL & Ottimizzazione delle Prestazioni
- Refactoring di un processo SQL pesante in Spark SQL ottimizzato
- Utilizzo dei tracciati dell'UI Spark per identificare e correggere problemi di skew e shuffle
- Benchmark prima/dopo e documentazione delle fasi di tuning
Giorno 4 — PySpark Tattico: Sostituzione della Logica Procedurale
- Modello di esecuzione Spark: driver, executor, valutazione lazy e strategie di partizionamento
- Trasformazione di loop e cursori in operazioni DataFrame vettorializzate
- Modularizzazione, UDFs/pandas UDFs, widget e librerie riutilizzabili
Laboratorio Giorno 4 — Refactoring di Script Procedurali
- Refactoring di uno script ETL procedurale in notebook PySpark modulari
- Introduzione della parametrizzazione, test unit-style e funzioni riutilizzabili
- Revisione del codice e applicazione di un elenco di controllo delle best practice
Giorno 5 — Orchestrazione, Pipeline End-to-End & Best Practices
- Databricks Workflows: progettazione del job, dipendenze tra task, trigger e gestione degli errori
- Progettazione di pipeline Medallion incrementali con regole di qualità e validazione dello schema
- Integrazione con Git (GitHub/Azure DevOps), CI e strategie di testing per la logica PySpark
Laboratorio Giorno 5 — Costruzione di una Pipeline Completa End-to-End
- Assemblaggio della pipeline Bronzo→Argento→Oro orchestrata con Workflows
- Implementazione di logging, auditing, retry e validazioni automatizzate
- Esecuzione completa della pipeline, validazione degli output e preparazione delle note per il deployment
Operationalizzazione, Governance e Prontezza di Produzione
- Best practices di governance Unity Catalog, lineage e controlli di accesso
- Costi, dimensionamento dei cluster, autoscaling e pattern di concorrenza dei job
- Elenchi di controllo per il deployment, strategie di rollback e creazione del runbook
Revisione Finale, Trasferimento delle Conoscenze e Passi Successivi
- Presentazioni dei partecipanti sul lavoro di migrazione e lezioni apprese
- Analisi delle lacune, attività consigliate da seguire e consegna dei materiali di formazione
- Riferimenti, percorsi di apprendimento ulteriore e opzioni di supporto
Requisiti
- Comprensione dei concetti di ingegneria dei dati
- Esperienza con SQL e stored procedure (Synapse / SQL Server)
- Familiarità con i concetti di orchestrazione ETL (ADF o simili)
Pubblico di Riferimento
- Manager tecnici con un background in ingegneria dei dati
- Ingegneri dei dati che trasferiscono logiche procedurali OLAP a pattern Lakehouse
- Ingegneri di piattaforma responsabili dell'adozione di Databricks