python程序“java.lang.OutOfMemoryError:java堆空间”的Spark错误
我在spark上运行python
kmeans程序,如下命令所示:
./bin/spark-submit --master spark://master_ip:7077 my_kmeans.py
主要的python
kmeans程序如下所示:
sc = spark.sparkContext
# data
X = jl.load('X.jl.z')
data_x = sc.parallelize(X)
# kmeans
model = KMeans.train(data_x, 10000, maxIterations=5)
文件'X.jl.z'
大小约为100M
但我得到了火花误差:
File "/home/xxx/tmp/spark-2.0.2-bin-hadoop2.7/my_kmeans.py", line 24, in <module>
data_x = sc.parallelize(X)
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.readRDDFromFile.
: java.lang.OutOfMemoryError: Java heap space
我知道如何修改Java
程序的JVM堆大小。但是如何增加python
程序的堆大小呢
# 1 楼答案
尝试添加分区数:
或: