Spark:OutOfMemoryError:Java堆空间
我现在面临一个问题。我正在使用PySpark进行开发,并尝试将JSON文件加载到数据帧(~2Go)中。问题是,我一直遇到这样的错误:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space
我已经试过几种方法:
- 在JVM中将
-Xmx
设置为3g
,不产生任何效果 设置不同的火花选项(在
$SPARK_HOME/conf/spark-defaults.conf
)但不起作用:spark.executor.memory 3g spark.driver.memory 3g spark.python.worker.memory 3g spark.memory.fraction 0.9 spark.driver.maxResultSize 3g spark.memory.storageFraction 0.9
代码如下:
from pyspark.sql import SparkSession
def main(sc):
df = spark.read.json("/path/to/file.json")
if __name__ == "__main__":
spark = SparkSession \
.builder \
.appName("Python Spark SQL basic example") \
.getOrCreate()
main(spark)
我通过以下方式调用该程序:
spark-submit program.py
不用说,我已经检查了服务器上的可用内存总量:8G
经过进一步的研究,我还没有找到另一个解决方案。有人有主意吗
共 (0) 个答案