Py4JJavaError: во время вызова произошла ошибка - PullRequest
0 голосов
/ 06 февраля 2019

Я новичок в 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

ОБНОВЛЕНИЕ: Я использовал py4j 10.7 и только что обновил до 10.8

ОБНОВЛЕНИЕ (1): Добавление spark.driver.memory:

 ss = SparkSession \
  .builder \
  .appName("Example") \
  .config("spark.driver.memory", "16g")\
  .getOrCreate()

Суммарная ошибка возврата:

ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:38004)

py4j.protocol.Py4JNetworkError: Answer from Java side is empty
"Error while receiving", e, proto.ERROR_ON_RECEIVE)
py4j.protocol.Py4JNetworkError: Error while receiving

Py4JError
Py4JError: An error occurred while calling o94.showString

ОБНОВЛЕНИЕ (2): я попытался это, изменив файл spark-defaults.conf.По-прежнему получаю сообщение об ошибке PySpark: java.lang.OutofMemoryError: Пространство кучи Java

ПОЛУФАБРИКА: Казалось, это общая проблема с памятью.Я запустил 2xlarge экземпляр с 32 г памяти.Программа работает без ошибок.

Зная это, есть ли что-то еще, опция conf, которая может помочь, чтобы мне не пришлось запускать дорогой экземпляр?

Спасибо всем.

1 Ответ

0 голосов
/ 21 февраля 2019

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

    conda install pyspark=2.3.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...