Интересные функции в Spark 3.1 | OTUS
🎅 Декабрьская распродажа в OTUS!
Новый год – новые знания. Сделайте себе подарок и приобретите интересующий вас курс по самой выгодной цене декабря ❄️
Выбрать курс

Интересные функции в Spark 3.1

Вкратце поговорим про PySpark UX, стейджинговую диспетчеризацию и функцию повышения производительности в Spark 3.1.

1_zbAD6xG4bi4wK4bv4_AmsA_1-1801-8b2a9d.png

Начиная с версии 3.1, в Spark появились 2 значительных улучшения в UX, которые особенно пригодятся разработчикам на PySpark:

  • была полностью переработана документация PySpark, в результате чего она стала в большей степени соответствовать Python, не говоря уже о повышении удобства использования;
  • появилась поддержка подсказок типов: теперь в IDE можно применять бесплатное автозавершение кода и функцию обнаружения статических ошибок:

sp4_1-1801-2a4fd3.gif

Также стоит добавить, что Spark History Server, отображающий интерфейс Spark после завершения работы приложения, теперь способен показывать статистику по выполненным вами запросам на Structured Streaming.

Стейджинговая диспетчеризация

SPARK-27495 (стейджинговая диспетчеризация) может применяться лишь для YARN- и Kubernetes-развертываний, при этом должно быть включено динамическое выделение. Данная функция позволит управлять в коде числом и типом ресурсов, запрашиваемых для исполнителя, причем с точностью на уровне стадий. Например, теперь существует возможность настроить приложение под использование конкретных исполнителей с процессорными ресурсами в ходе 1-й стадии (допустим, при подготовке данных либо выполнении ETL). Ну а в ходе 2-й стадии можно настроить приложение на использование видеокарт (для тех же Machine learning-моделей).

Повышение производительности

В Spark 3.1 была повышена производительность shuffle хэш-соединения, плюс были добавлены новые правила в оптимизатор Catalyst, а также правила прерывания подвыражений. Опять же, пользователи PySpark отмечают такой плюс, как применение в Spark колоночного формата in-memory хранения Apache Arrow 2.0.0 (прежняя версия -- 1.0.2). В результате увеличивается скорость работы приложений, что особенно заметно, если надо выполнить преобразование данных между фреймами данных Pandas и Spark. При этом вышеописанные улучшения производительности не требуют изменения кода либо конфигурации.

По материалам https://towardsdatascience.com/apache-spark-3-1-release-spark-on-kubernetes-is-now-generally-available-65cccbf1436b.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться