Spark dataframe для профилирования pandas
Я пытаюсь достичь профилирования данных с помощью библиотеки профилирования pandas. я получаю данные прямо из улья. это ошибка, которую я получаю
Py4JJavaError: An error occurred while calling o114.collectToPython.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 14.0 failed 4 times, most recent failure: Lost task 2.3 in stage 14.0 (TID 65, bdgtr026x30h4.nam.nsroot.net, executor 11): org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow. Available: 0, required: 15823824. To avoid this, increase spark.kryoserializer.buffer.max value.
Я попытался установить свою искру на ноутбуке jupyter в python, но получаю ту же ошибку
spark.conf.set("spark.kryoserializer.buffer.max", "512")
spark.conf.set('spark.kryoserializer.buffer.max.mb', 'val')
на основе моего кода, выполняю ли какие-либо шаги?
df = spark.sql('SELECT id,acct from tablename').cache()
report = ProfileReport(df.toPandas())
2 ответа
Вместо того, чтобы устанавливать конфигурацию в jupyter, установите конфигурацию при создании сеанса Spark, поскольку после создания сеанса конфигурация не изменяется.
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("myApp") \
.config("spark.kryoserializer.buffer.max", "512m") \
.config('spark.kryoserializer.buffer', '512k') \
.getOrCreate()
Вы можете получить подробную информацию о свойствах здесь
Похоже, поддержка идет! поток Github TLDR; альфа-релиз ожидается в январе 2022 года!