Оптимизируем Shuffle в Spark

Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark. В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin , но и о двух других неочевидных методах – предварительное репартицирование и бакетирование .

https://habr.com/ru/companies/X5Tech/articles/837348/

#spark #план_запроса #data_analysis #data_engineering #pyspark #shuffle #партицирование_в_spark #бакетирование_в_spark #оптимизация_shuffle #оптимизация_spark

Оптимизируем Shuffle в Spark

Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов...

Хабр