22

Anti-Patterns: Как убить кластер за 5 минут

Разбор 8 классических ошибок Spark-разработки: collect(), explode, repartition, кэш без unpersist, UDF-closure, shuffle-взрыв, inferSchema в продакшне и случайные Cartesian joins.

optimization core

Контрольные задания

Найти collect() в production-коде и исправить
Переписать explode + groupBy без промежуточного взрыва строк
Профилировать UDF и заменить на built-in функцию
Найти случайный Cartesian в EXPLAIN и устранить

Уроки модуля

1 collect() и toPandas(): когда весь датасет едет в Driver 2 explode() misuse: N×M взрыв строк и когда использовать flatten 3 repartition() abuse и coalesce(): когда shuffle нужен, а когда нет 4 Кэш без стратегии: persist до фильтрации, нет unpersist и cache в цикле 5 UDF Pitfalls: closure, null без защиты и non-determinism 6 Shuffle Explosion: COUNT DISTINCT, множественный GROUP BY и sort без причины 7 Schema Anti-Patterns: inferSchema в продакшне, вложенные структуры и from_json без схемы 8 Cartesian Join Trap: случайный cross join, BNLJ на TB и non-equi join ловушки
Начать модуль