TGViewer
Поступашки — BIG DATA Поступашки — BIG DATA @bigdata_postupashki · 1.03K subscribers
Post #18 2.1K
Интересная задачка с собеседования
Вы работаете со Spark, делаете преобразования над таблицами, но задача валится по OutOfMemory, как решить эту проблему без увеличения общего количества памяти?
Решение
1. Отрегулировать количество партиций
Делается это несколькими способами:
- spark.sql.shuffle.partitions: <количество партиций>
За что отвечает данный параметр: перед запуском shuffle операции Spark все данные распределит в количество партиций, равное числу в этом параметр(по дефолту оно 200). Поэтому, если данных у вас ну уж очень много, то партиции могут стать очень жирными и не влезать в память => надо их количество увеличить
- repartition(<количество партиций>)
Происходит тоже самое, но нужно это делать вручную перед shuffle(например, перед join-ом)
2. Использование Broadcast Join
Broadcast Join работает по очень просто принципу: перемещает меньший датасет(его размер можно установить до 8 Gb) к партициям большого и соединяте, что позволяет избежать shuffle операции.
Но если один из датасетов > 8 гигов, лучше его отключить с помощью параметра
spark.sql.autoBroadcastJoinThreshold: -1
3. Уменьшение количества executor
Допустим, у нас 10 экзекьюторов по 8 гигов и 5 ядер каждый, и при выполнении на них спарк задачи происходит OOM, тогда, можно сделать вместо 10 — 5, но выделить на каждый не по 8 гигов памяти, а 16, и 10 ядер. Общая параллельность не изменится, но партиции начнут влезать в память.

А как бы вы решали данную задачку пишите в комменты 😎
Чтобы узнать больше о работе Spark подписывайтесь на канал, ставьте реакции, а также записывайтесь на наши курсы

@bigdata_postupashki
  • ⚡ 6
  • 👍 4
  • 🔥 1
More from @bigdata_postupashki
  1. Sep 6, 2026Разбор экзамена на стажировку в Т-банк за подписку! Чтобы получить разбор: ➡️Подпишитесь н…
  2. Jun 3, 2026Финальные скидки на карьерные курсы! Товарищи, специально для вас открываем доступ на лине…
  3. May 10, 2026Топ мест для вката в Data Engineering На слуху Яндекс, Т-банк, Авито и прочие ребята, но е…
  4. Apr 13, 2026Ментор+ Эта услуга для тех, кто хочет трудоустроиться уже сейчас без лишней головной боли…
  5. Jan 29, 2026Разбор экзамена по SQL Т-банка Разбор всех направлений выложен только на наших курсах. До…
  6. Dec 3, 2025Товарищи, Поступашкам нужны контент мейкеры. Если вы творческая личность, интересующейся ф…
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 →