Spark 3 был выпущен с существенными улучшениями в поддержке Python и SQL, а также изменениями, упрощающими изучение данных. Это также быстрее.
Spark — это универсальная платформа кластерных вычислений, которая имеет встроенную поддержку распределенного SQL и обеспечивает потоковую передачу, обработку графиков и машинное обучение.
Spark SQL лежит в основе многих действий, выполняемых разработчиками, использующими Spark, и почти половина работы в обновленном выпуске была связана с механизмом SQL, улучшающим как производительность, так и совместимость с ANSI. Механизм SQL имеет ряд новых функций, в том числе структуру адаптивного выполнения запросов (AQE), которая повышает производительность и упрощает настройку, создавая лучший план выполнения во время выполнения. Также были улучшены библиотеки SQL более высокого уровня, включая структурированную потоковую передачу и MLlib, и API более высокого уровня, включая SQL и DataFrames.
В настоящее время Python является наиболее широко используемым языком в Spark и получил много внимания в этом выпуске, особенно панд и коал. API pandas ограничен одноузловой обработкой, и продолжалась работа над Koalas, реализацией API pandas поверх Apache Spark, чтобы сделать специалистов по данным более продуктивными при работе с большими данными в распределенных средах. Koalas избавляет от необходимости создавать множество функций в PySpark, чтобы повысить эффективность работы кластеров. Покрытие Koalas API для панд сейчас приближается к 80%.
Также продолжалась работа над PySpark APIS. Появились новые API-интерфейсы pandas с подсказками типов. Новый интерфейс Pandas UDF использует подсказки типов Python, чтобы упростить понимание, когда добавляются другие типы UDF. Улучшена обработка ошибок, что упростило исключения PySpark, скрыло ненужную трассировку стека JVM и сделало их более Pythonic.
Другие улучшения включают новый пользовательский интерфейс для структурированной потоковой передачи и более быстрый вызов (до 40 раз быстрее) для пользовательских функций R.