gpt4 book ai didi

apache-spark-2.0 - 无法使用 spark kryo 序列化

转载 作者:行者123 更新时间:2023-12-04 03:13:20 43 4
gpt4 key购买 nike

我无法在 spark-2.0.2 中使用 kryo 序列化程序。在我的 Scala 驱动程序代码中,我有。

sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
parkConf.set("spark.kryoserializer.buffer.max","64m")
parkConf.set("spark.kryoserializer.buffer","64k")

但是,这会产生以下错误:

[Stage 0:> (0 + 1) / 4]17/03/30 10:15:34 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0) org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow. Available: 0, required: 157. To avoid this, increase spark.kryoserializer.buffer.max value.

此外,我尝试在 spark-defaults.conf 中设置相同的属性,但出现相同的错误。给出错误报告“可用”大小为 0:,似乎我的设置被忽略了。

最佳答案

我现在明白了。 “spark.kryoserializer.buffer.max”必须足够大以接受分区中的所有数据,而不仅仅是一条记录。对于包含 512mb 的 256 字节数组的分区,buffer.max 必须大约为 768mb。我没有在文档中的任何地方看到这方面的解释,我的印象是 buffer.max 必须足够大才能接受分区中最大的序列化记录。

关于apache-spark-2.0 - 无法使用 spark kryo 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43120738/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com