Задание Pyspark прервано из-за сбоя этапа - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь создать фрейм данных PySpark, используя следующий код

#!/usr/bin/env python
# coding: utf-8
import pyspark
from pyspark.sql.session import SparkSession
import pyspark.sql.functions as f
from pyspark.sql.functions import coalesce


spark = SparkSession.builder.appName("Test").enableHiveSupport().getOrCreate()
#spark.sql("use bocconi")
tableName = "dynamic_pricing.final"
inputDF = spark.sql("""SELECT * FROM dynamic_pricing.final WHERE year = '2019' AND mercati_id = '6'""")

Я получаю следующую ошибку:

Py4JJavaError: An error occurred while calling o48.sql.
: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 9730 tasks (1024.1 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)

Я прошел по этим ссылкам: link1 и link2 , но проблема все еще не решена. Есть идеи о том, как это решить? Я пробовал также это:

# Create new config
conf = (SparkConf()
    .set("spark.driver.maxResultSize",  0))

# Create new context
sc = SparkContext(conf=conf)

1 Ответ

0 голосов
/ 06 мая 2019

Total size of serialized results of 9730 tasks is bigger than spark.driver.maxResultSize означает, что вы отправляете слишком много за один раз, чтобы получить драйвер. Учитывая ваш maxResultSize 1024,0 МБ (только 1 ГБ), я бы посоветовал вам увеличить ваш maxResultSize. Попробуйте установить его на 0, чтобы он не ограничивался, и проверьте, есть ли у вас ошибка нехватки памяти.

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