![](/img/trans.png)
[英]Spark applicaition - Java.lang.OutOfMemoryError: Java heap space
[英]Spark error for python program “java.lang.OutOfMemoryError: Java heap space”
我在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
程序的堆大小?
尝试添加分区数:
data_x = sc.parallelize(X,n)
# n = 2-4 partitions for each CPU in your cluster
要么 :
可以在集群模式下通过spark.driver.memory设置最大堆大小,在客户端模式下可以通过--driver-memory命令行选项设置最大堆大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.