1

我正在尝试使用 pandas-profiling 库实现数据分析。我直接从蜂巢获取数据。这是我收到的错误

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.

我试图在 python 中的 jupyter notebook 上设置我的火花,但我收到了同样的错误

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())
4

2 回答 2

1

而不是在 jupyter 中设置配置,而是在创建 spark 会话时设置配置,因为一旦创建了会话,配置就不会改变。

from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("myApp") \
.config("spark.kryoserializer.buffer.max", "512m") \
.config('spark.kryoserializer.buffer', '512k') \
.getOrCreate()

您可以在此处获取属性详细信息

于 2020-06-23T05:11:47.593 回答
0

看来支持来了!Github 线程TLDR;预计 2022 年 1 月发布 Alpha 版!

于 2022-01-21T21:26:01.647 回答