TGViewer
Data Engineering Digest Data Engineering Digest @dataengineeringdigest · 1.17K subscribers
Post #12 2.14K
Субботний вечер, а значит время смотреть конференции

Автоматический подбор параметров для Spark-приложений / Валерия Дымбицкая (OneFactor)

Ссылка на выступление: https://www.youtube.com/watch?v=Ot93PQELdcM
или
https://vk.com/video-152308462_456239627

Сложность: 3/3 (Технически насыщенный доклад, требует понимания Apache Spark, оптимизации ресурсов и машинного обучения)
Кому будет интересно: Тем, кто работает с Spark. Если ни разу не запускали Spark - смело пропускайте данный пост.

✨ Краткий пересказ и выводы по докладу Валерии Дымбицкой (OneFactor) ✨
Валерия представила систему автоматического тюнинга параметров для Spark-приложений, основанную на анализе логов и машинном обучении. Система разработана для оптимизации использования ресурсов в кластере и повышения эффективности выполнения задач.

🔍 Основные тезисы:
1️⃣ Проблемы текущего подхода:
• Кластер ограничен в ресурсах, и даже при большом количестве узлов и памяти их может не хватать.
• Одинаковые ресурсы для всех запусков приводят к недоутилизации и конкуренции за ресурсы.
• Легкие задачи могут занимать все ресурсы, оставляя тяжелые задачи в очереди.
2️⃣ Описание системы литгенерации:
• Включает базу абонентов и Spark-пайплайны для отбора данных.
• Ежедневно запускается около 600 задач, и каждый день добавляются новые триггеры и пайплайны.
• Пайплайны уникальны и создаются дата-специалистами, что усложняет унификацию параметров.
3️⃣ Первый подход: априорный тюнинг:
• Попытка определить параметры перед запуском задачи.
• Проблема: сложность выделения классов задач и необходимость экспериментов на продовой среде.
• Неэффективность из-за затрат времени и ресурсов.
4️⃣ Апостериорный подход: оптимизация на основе логов:
• Использование метрик из логов Spark для определения оптимальных параметров.
• Анализ логов в формате JSON для получения информации о шафлах, спилах и времени в GC.
• Основной фокус на оптимизации параметра Spark Executor Memory.
5️⃣ Правила оптимизации памяти:
• Правило GC: Время сборки мусора не должно превышать 10% от времени работы приложения.
• Правило сброса записи на диск:Избегать сброса данных на диск, что указывает на нехватку памяти.
• Правило использования данных:Объем данных должен укладываться в выделенную память.
6️⃣ Объединение предсказаний:
• Использование взвешенного среднего для объединения предсказаний от трех правил.
• Минимум как метод объединения для определения оптимального объема памяти.
7️⃣ Изотоническая регрессия:
• Построение регрессии для каждого пайплайна.
• Преимущества: легко обучается на малом количестве данных, удобно хранить в базе данных.
• Переобучение после каждого запуска приложения для адаптации к изменениям.
8️⃣ Проблемы и решения:
• Откат при неправильных предсказаниях: Возможность вернуться к предыдущим параметрам.
• Переобучение: Быстрое обновление регрессий после каждого запуска.
• Параллельность: Добавление параллельности для ускорения переобучения.

🚀 Рекомендации:
• Используйте логи Spark для анализа и оптимизации параметров.
• Применяйте изотоническую регрессию для быстрого и эффективного тюнинга.
• Регулярно переобучайте модели для адаптации к изменениям в задачах.
• Оптимизируйте не только память, но и другие параметры, такие как количество шафлов.

💡 Выводы:
1️⃣ Автоматизация тюнинга — ключ к эффективности:
• Ручная настройка параметров неэффективна и требует много времени.
• Автоматизация позволяет экономить ресурсы и повышать производительность.
2️⃣ Логи Spark — ценный источник данных:
• Анализ логов помогает выявить узкие места и оптимизировать параметры.
• Использование машинного обучения для анализа логов — перспективное направление.
3️⃣ Изотоническая регрессия — мощный инструмент:
• Простота обучения и интерпретации делает ее идеальной для задач тюнинга.
• Быстрое переобучение позволяет адаптироваться к изменениям в задачах.

📌 Итог:
Доклад Валерии Дымбицкой — это отличный пример того, как автоматизация и машинное обучение могут значительно улучшить эффективность работы с распределенными системами.
YouTube Автоматический подбор параметров для Spark-приложений / Валерия Дымбицкая (OneFactor) Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем Saint HighLoad++ 2026 Подробнее: https://clck.ru/3QZHTb Июнь, 2026. Санкт-Петербург, DESIGN DISTRICT DAA in SPB -------- Saint HighLoad++ 2022 Презентация и тезисы: …
  • 🔥 4
More from @dataengineeringdigest
  1. Oct 10, 2026✨ Сергей Харитонов — Физиология лидерства: как тимлиду оставаться в ресурсе Сложность: 1/3…
  2. Oct 1, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  3. Oct 1, 2026Прошу простить, уже долгое время не могу выделить время на полноценный пост о интересных д…
  4. Sep 23, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  5. Sep 6, 2026Ещё один доклад из которого не получился пост по причине того, что админ очень не любит sp…
  6. Sep 5, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →