Главная » Error » Py4jjavaerror an error occurred while calling

Py4jjavaerror an error occurred while calling

Py4jjavaerror an error occurred while calling

Я новичок в PySpark. Я писал свой код с помощью тестового образца. Как только я запускаю код для файла большего размера (сжатый на 3 ГБ). Мой код выполняет только некоторую фильтрацию и объединения. Я продолжаю получать ошибки, касающиеся Py4J.

Любая помощь была бы полезна и оценена.

from pyspark.sql import SparkSession

from pyspark.conf import SparkConf 

ss = SparkSession \

  .builder \

  .appName(“Example”) \

  .getOrCreate()

ss.conf.set(“spark.sql.execution.arrow.enabled”, ‘true’)

df = ss.read.csv(directory + ‘/’ + filename, header=True, sep=”,”)

# Some filtering and groupbys…

df.show()

Возврат:

Py4JJavaError: An error occurred while calling o88.showString.

: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in

stage 3.0 failed 1 times, most recent failure: Lost task 0.0 in stage 3.0 (TID

1, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space

Caused by: java.lang.OutOfMemoryError: Java heap space

Ответ

Это текущая проблема с pyspark 2.4.0, установленной через conda. Вы захотите перейти на pyspark 2.3.0 с помощью командной строки conda или терминала Linux:

 conda install pyspark=2.3.0

Возможно, у вас неправильные разрешения.

У меня такая же проблема, когда я использую образ docker jupyter/pyspark-notebookдля запуска примера кода pyspark, и она была решена с помощью root в контейнере.

Как исправить – “Py4JJavaError: An Error Occurred While Calling oxx.showString” в Spark.

Эта ошибка может возникать в различных форматах, как показано ниже –

Py4JJavaError: An error occurred while calling oxx.showString.

: org.apache.spark.SparkException: Job aborted due to stage failure:

java.lang.OutOfMemoryError: Java heap space

Py4JJavaError: An error occurred while calling oxx.showString.

: java.lang.IllegalArgumentException: java.net.UnknownHostException:               xxxxxxxxxx

Py4JJavaError: An error occurred while calling oxxxx.collectToPython.

: org.apache.spark.SparkException

В зависимости от формата, вкуса и типа, основной причины этой ошибки может быть несколько.

Проверьте :

  • Прежде всего, желательно быстро просмотреть журналы, если в них есть какие-либо подсказки.
  • Также посмотрите журналы исполнителя – из Spark UI -> Неудачные задачи -> Просмотреть подробности

Проверьте :

  • В качестве следующей проверки вы можете попробовать увеличить различные настройки и флаги, связанные с выделением памяти, выполнением задач и т.д.

Проверьте :

  • Версии различных используемых программ и пакетов, например, Spark, Java, Kafka, Scala и т. Д. Иногда небольшая ошибка несовместимости версий может привести к проблемам или ошибкам, которые чрезвычайно сложно отследить, отладить и исправить.
  • Используете ли вы какие-либо операции, такие как count() или show(), для вывода промежуточных или конечных результатов. Такие операции должны быть ограничительными с точки зрения количества отображаемых наборов результатов.
  • Убедитесь, что имя хоста, IP-адреса всех узлов, а именно главного узла, рабочих узлов и т.д., правильно определены в файле etc \ hosts и других конфигурационных объектах. Убедитесь, что эти узлы запущены и доступны. Это применимо как для локальных, так и для облачных настроек, таких как AWS, GCP, Azure и т. Д. где определения общедоступных или внешних IP-адресов должны быть соответствующим образом определены и доступны.

Значения Null также являются основным виновником во многих случаях, особенно если вы выполняете операции с данными с использованием spark-sql. Убедитесь, что поля или столбцы данных правильно приписаны свойству null или not-null в зависимости от варианта использования.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector