Съдържание и теми, включени в курса
Въведение, цели и стратегия за миграция
- Цели на курса, съответствие с профила на участниците и критерии за успех
- Общи подходи за миграция и съображения за риска
- Настройка на работните пространства, репозиторите и наборите от данни за лабораторните упражнения
Ден 1 — Основи на миграцията и архитектура
- Концепции за Lakehouse, преглед на Delta Lake и архитектурата на Databricks
- Разлики между SMP и MPP и тяхното значение за миграцията
- Проектиране по модела Medallion (Bronze→Silver→Gold) и преглед на Unity Catalog
Лабораторно упражнение на ден 1 — Превод на съхранена процедура
- Практическа миграция на примерна съхранена процедура в нотбук
- Ориентиране на временни таблици и курсори към трансформации на DataFrame
- Валидация и сравнение с първоначалния резултат
Ден 2 — Разширени функции на Delta Lake и инкрементално зареждане
- ACID транзакции, логи на комитиране, версиониране и пътуване във времето
- Auto Loader, монове за MERGE INTO, upsert-и и еволюция на схемата
- OPTIMIZE, VACUUM, Z-ORDER, партициониране и настройка на съхранението
Лабораторно упражнение на ден 2 — Инкрементален импорт и оптимизация
- Реализиране на импорт с Auto Loader и пайплайни за сливане (MERGE)
- Прилагане на OPTIMIZE, Z-ORDER и VACUUM; валидация на резултатите
- Мерене на подобренията в производителността при четене/писане
Ден 3 — SQL в Databricks, производителност и дебъгване
- Функции за аналитичен SQL: прозорцови функции, функции от по-висок ред, обработка на JSON/масиви
- Четене на Spark UI, DAG-ове, shuffle операции, етапи, задачи и диагностика на стеснителни места
- Монови за настройка на запитвания: broadcast join-и, подказки, кеширане и намаляване на преливането в диска (spill)
Лабораторно упражнение на ден 3 — Рефакториране на SQL и настройка на производителност
- Рефакториране на тежък SQL процес в оптимизиран Spark SQL
- Използване на трасиране от Spark UI за идентифициране и отстраняване на проблеми със затрупване (skew) и shuffle
- Бенчмаркиране преди/след и документиране на стъпките по настройка
Ден 4 — Тактически PySpark: Заменяне на процедурната логика
- Модел за изпълнение на Spark: driver, изпълнители (executors), лениво оценяване и стратегии за партициониране
- Трансформиране на цикли и курсори във векторизирани операции с DataFrame
- Модулност, UDF/pandas UDF, виджети и повторно използваеми библиотеки
Лабораторно упражнение на ден 4 — Рефакториране на процедурни скриптове
- Рефакториране на процедурен ETL скрипт в модулизиран PySpark нотбук
- Въвеждане на параметризиране, тестове от тип unit и повторно използваеми функции
- Преглед на код и прилагане на списък с най-добри практики
Ден 5 — Оркестрация, пайплайн от край до край и най-добри практики
- Databricks Workflows: проектиране на задачи, зависимости, тригери и обработка на грешки
- Проектиране на инкрементални пайплайни по модел Medallion с правила за качество и валидиране на схемата
- Интеграция с Git (GitHub/Azure DevOps), CI и стратегии за тестване на PySpark логика
Лабораторно упражнение на ден 5 — Изграждане на пълна пайплайн от край до край
- Сглобяване на пайплайн Bronze→Silver→Gold, оркестриран с Workflows
- Реализиране на логироване, одит, повторни опити и автоматични валидации
- Изпълнение на целия пайплайн, валидиране на изхода и подготовка на бележки за внедряване
Операционализиране, управление на данните и готовност за продуктивна среда
- Най-добри практики за управление, проследяване на произхода и контрол на достъпа чрез Unity Catalog
- Разходи, размер на кластерите, автоматично мащабиране и модели за паралелизъм на задачите
- Чек-листи за разгръщане, стратегии за откат и създаване на оперативни ръководства (runbook)
Финален преглед, трансфер на знания и следващи стъпки
- Презентации на участниците относно миграционната работа и получените уроци
- Анализ на липсващите елементи, препоръки за последващи действия и предоставяне на обучителни материали
- Референции, допълнителни образователни пътеки и опции за поддръжка
Изисквания
- Разбиране на концепциите в областта на данните.
- Опит с SQL и съхранени процедури (Synapse / SQL Server).
- Знаемост с концепциите за ETL оркестрация (ADF или подобни инструменти).
Целева аудитория
- Технически мениджъри с опит в областта на данните.
- Инженери на данни, преминаващи от процедурна OLAP логика към Lakehouse модели.
- Инженери по платформи, отговорни за внедряването на Databricks.