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