Apache Arrow улучшает производительность при конвертации данных между Pandas и PySpark за счёт исключения этапов сериализации и десериализации. 1
Обычно при выполнении пользовательской PySpark-функции фреймворк перебирает каждую строку данных и выполняет преобразование из Python в Java для каждого значения с проверкой типов. 1 Большая часть времени уходит на сериализацию данных. 1
С помощью Apache Arrow данные Pandas, NumPy или других Python-библиотек отправляются в JVM-пакеты напрямую, без множества преобразований, но с точной информацией о типе. 12
Кроме того, преобразование в данные Arrow можно выполнить на JVM и отправить для параллельной обработки исполнителям Spark, что значительно снижает нагрузку на драйвер. 3