HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: функции, spark, pyspark</p>
1 <p>Теги: функции, spark, pyspark</p>
2 <p>Вкратце поговорим про<strong>PySpark UX</strong>, стейджинговую диспетчеризацию и функцию повышения производительности в Spark 3.1.</p>
2 <p>Вкратце поговорим про<strong>PySpark UX</strong>, стейджинговую диспетчеризацию и функцию повышения производительности в Spark 3.1.</p>
3 <p>Начиная с версии 3.1, в Spark появились 2 значительных улучшения в UX, которые особенно пригодятся разработчикам на<strong>PySpark</strong>:</p>
3 <p>Начиная с версии 3.1, в Spark появились 2 значительных улучшения в UX, которые особенно пригодятся разработчикам на<strong>PySpark</strong>:</p>
4 <ul><li>была полностью переработана документация PySpark, в результате чего она стала в большей степени соответствовать Python, не говоря уже о повышении удобства использования;</li>
4 <ul><li>была полностью переработана документация PySpark, в результате чего она стала в большей степени соответствовать Python, не говоря уже о повышении удобства использования;</li>
5 <li>появилась поддержка подсказок типов: теперь в IDE можно применять бесплатное автозавершение кода и функцию обнаружения статических ошибок:</li>
5 <li>появилась поддержка подсказок типов: теперь в IDE можно применять бесплатное автозавершение кода и функцию обнаружения статических ошибок:</li>
6 </ul><p>Также стоит добавить, что<strong>Spark History Server</strong>, отображающий интерфейс Spark после завершения работы приложения, теперь способен показывать статистику по выполненным вами запросам на Structured Streaming.</p>
6 </ul><p>Также стоит добавить, что<strong>Spark History Server</strong>, отображающий интерфейс Spark после завершения работы приложения, теперь способен показывать статистику по выполненным вами запросам на Structured Streaming.</p>
7 <h2>Стейджинговая диспетчеризация</h2>
7 <h2>Стейджинговая диспетчеризация</h2>
8 <p>SPARK-27495 (стейджинговая диспетчеризация) может применяться лишь для YARN- и Kubernetes-развертываний, при этом должно быть включено динамическое выделение. Данная функция позволит управлять в коде числом и типом ресурсов, запрашиваемых для исполнителя, причем с точностью на уровне стадий. Например, теперь существует возможность настроить приложение под использование конкретных исполнителей с процессорными ресурсами в ходе 1-й стадии (допустим, при подготовке данных либо выполнении ETL). Ну а в ходе 2-й стадии можно настроить приложение на использование видеокарт (для тех же Machine learning-моделей).</p>
8 <p>SPARK-27495 (стейджинговая диспетчеризация) может применяться лишь для YARN- и Kubernetes-развертываний, при этом должно быть включено динамическое выделение. Данная функция позволит управлять в коде числом и типом ресурсов, запрашиваемых для исполнителя, причем с точностью на уровне стадий. Например, теперь существует возможность настроить приложение под использование конкретных исполнителей с процессорными ресурсами в ходе 1-й стадии (допустим, при подготовке данных либо выполнении ETL). Ну а в ходе 2-й стадии можно настроить приложение на использование видеокарт (для тех же Machine learning-моделей).</p>
9 <h2>Повышение производительности</h2>
9 <h2>Повышение производительности</h2>
10 <p>В Spark 3.1 была повышена производительность shuffle хэш-соединения, плюс были добавлены новые правила в оптимизатор Catalyst, а также правила прерывания подвыражений. Опять же, пользователи PySpark отмечают такой плюс, как применение в Spark колоночного формата in-memory хранения Apache Arrow 2.0.0 (прежняя версия -- 1.0.2). В результате увеличивается скорость работы приложений, что особенно заметно, если надо выполнить преобразование данных между фреймами данных Pandas и Spark. При этом вышеописанные улучшения производительности не требуют изменения кода либо конфигурации.</p>
10 <p>В Spark 3.1 была повышена производительность shuffle хэш-соединения, плюс были добавлены новые правила в оптимизатор Catalyst, а также правила прерывания подвыражений. Опять же, пользователи PySpark отмечают такой плюс, как применение в Spark колоночного формата in-memory хранения Apache Arrow 2.0.0 (прежняя версия -- 1.0.2). В результате увеличивается скорость работы приложений, что особенно заметно, если надо выполнить преобразование данных между фреймами данных Pandas и Spark. При этом вышеописанные улучшения производительности не требуют изменения кода либо конфигурации.</p>
11 <p><em>По материалам https://towardsdatascience.com/apache-spark-3-1-release-spark-on-kubernetes-is-now-generally-available-65cccbf1436b.</em></p>
11 <p><em>По материалам https://towardsdatascience.com/apache-spark-3-1-release-spark-on-kubernetes-is-now-generally-available-65cccbf1436b.</em></p>
12  
12