Apache Spark 3.4.1: обзор отладочного релиза, выпущенного в июне 2023

Apache Spark 3.4.1 новые возможности, Apache Spark 3.4.1 обзор релиза, Spark Structured Streaming SQL PySpark примеры курсы обучение, обучение дата-инженеров Spark, курсы инженер данных Spark, инженерия данных Spark, обучение Apache Spark курсы примеры, анализ данных с Apache Spark, разработка Apache Spark, Школа Больших Данных Учебный Центр Коммерсант

23 июня 2023 года опубликован очередной релиз Apache Spark 3.4.1, который считается отладочным выпуском для предыдущего, содержащий исправления стабильности. Помимо исправления ошибок, в нем также 16 новых фичей и более 20 улучшений, самые главные из которых мы рассмотрим далее.

Исправления ошибок и новые фичи Apache Spark 3.4.1

Поскольку выпуск считается отладочным, начнем с исправления ошибок, которых более 50. В частности, исправлена проблема, когда внешнее соединение с использованием joinWith для DataFrames возвращает строки с нулевыми полями вместо NULL-значений. Исправлено разрешение столбца при полном внешнем соединении с выражением USING, включая случай, когда ссылки на ключ определенной стороны в соединении USING могут иметь неверную допустимость значений NULL. Также исправлена ошибка при соединениях с подзапросом в состоянии, если кодегенерация всего этапа и адаптивное выполнение отключены. Устранена ошибка кодогенерации, когда связанное условие полного внешнего соединения имеет несколько ссылок на один и тот же столбец на стороне потока. Теперь драйвер Spark не будет зависает с ошибкой нехватки памяти во время трансляции при включенной оптимизации AQE. Устранена проблема StackOverflowError при чтении JSON-документа, не соответствующего схеме, а также исправлена ​​ошибка функции createDataFrame() из схемы сложного типа. Исправлена ​​ошибка, из-за которой логика функции обрезки (trim) неправильно обрабатывала управляющие символы ASCII.

Устранена проблема с функцией DataFrame.to(schema), которая давала сбой при наличии вложенного поля, не допускающее значение NULL, в поле, допускающем значение NULL. Устранена обработка отсутствующих свойств hadoopProperties и metricsProperties, а также зависание Spark-приложения, когда YarnAllocator добавляет запущенные исполнители после обработки завершенных контейнеров. Наконец, теперь пользовательский интерфейс структурированной потоковой передачи корректно отображает неудачные запросы.

Помимо исправления ошибок, обновлены некоторые зависимости: snappy-java до версий 1.1.10.0 и 1.1.10.1, cloudpickle до версии 2.2.1 и формата ORC до версии 1.8.4. Пакет cloudpickle позволяет сериализовать конструкции Python, не поддерживаемые модулем pickle по умолчанию из стандартной Python-библиотеки. Этот пакет особенно полезен для кластерных вычислений , когда код Python отправляется по сети для выполнения на удаленных хостах, что часто бывает в кластере Spark.

Также добавлены новые фичи:

  • поддержка JDBC в DataFrameReader;
  • широковещательная трансляция в функции Scala;
  • реализация функций DataFrameStatFunctions и DataFrameNaFunctions;
  • класс имени столбца (ColumnName) для подключения к датафрейму;
  • API TempView в датасет;
  • версия и время датасета (Dataset.version и Dataset.time), а также Dataset.semanticHash;
  • второй метод groupBy в API Dataset;
  • API исходного типизированного датасета;
  • имплицитные свойства SparkSession, которые позволяют делать дает неявные преобразования для преобразования объектов Scala (включая RDD) в объекты Dataset, DataFrame, Columns или поддержки таких преобразований через кодировщики. Это специфичные для Scala неявные методы для преобразования обычных объектов Scala в файлы DataFrame.
  • конфигурация среды исполнения RuntimeConf и типизированные столбцы TypedColumn;
  • поддержка пользовательских расширений в клиенте Spark Connect Scala;
  • функции createDataFrame() и createDataset() в SparkSession;
  • поддержка именованных параметров в именованных общих табличных выражениях (CTE), чтобы выполнять сложные SQL-запросы.

Узнать больше о новинка свежего релиза и освоить все возможности Apache Spark для разработки приложений аналитики больших данных вы сможете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://spark.apache.org/releases/spark-release-3-4-1.html
  2. https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315420&version=12352874
Поиск по сайту