将展开内存传输到存储内存失败

San*_*abu 5 apache-spark pyspark

我得到这个 java.lang.AssertionError 与火花。该错误并没有真正解释导致此错误的原因(至少对我而言)。有关导致此错误的原因和解决此问题的步骤的任何帮助都会有所帮助。

在此处输入图片说明

小智 8

Spark 必须先反序列化您的数据,然后才能供应用程序使用,这种反序列化的数据称为“展开内存”。在您的情况下,您的执行器上可能缺乏足够的 RAM 来容纳完全反序列化的数据。从源代码来看:

存储失败的原因有两个:一是块部分展开;二是块未展开。其次,块完全展开,实际存储的数据大小大于保留的数据大小,但我们无法请求额外的内存

https://github.com/apache/spark/blob/9628aca68ba0821b8f3fa934ed4872cabb2a5d7d/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala#L260