Apache spark 在ApacheSpark中构建决策树时的Java堆空间

Apache spark 在ApacheSpark中构建决策树时的Java堆空间,apache-spark,decision-tree,apache-spark-mllib,Apache Spark,Decision Tree,Apache Spark Mllib,我正试图在Apache Spark中构建一个决策树,如下所示: val dtModel = DecisionTree.train(data , Algo.Classification , Entropy , maxTreeDepth) 其中,dataRDD是由775946行和612515列组成的稀疏数据集。我已经将maxTreeDepth设置为20,并且分区oddataRDD的数量是593 由于某种原因,该进程没有完成,而是返回一个Java堆空间错误。有什么想法吗 java.lang.OutO

我正试图在Apache Spark中构建一个
决策树
,如下所示:

val dtModel = DecisionTree.train(data , Algo.Classification , Entropy , maxTreeDepth)
其中,
data
RDD是由
775946
行和
612515
列组成的稀疏数据集。我已经将maxTreeDepth设置为
20
,并且分区od
data
RDD的数量是
593

由于某种原因,该进程没有完成,而是返回一个
Java堆空间
错误。有什么想法吗

java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3236)
    at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
    at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
    at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
    at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1842)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1534)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
    at org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:42)
    at org.apache.spark.serializer.JavaSerializerInstance.serialize(JavaSerializer.scala:73)
    at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:164)
    at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:158)
    at org.apache.spark.SparkContext.clean(SparkContext.scala:1242)
    at org.apache.spark.rdd.RDD.map(RDD.scala:270)
    at org.apache.spark.mllib.tree.impl.TreePoint$.convertToTreeRDD(TreePoint.scala:58)
    at org.apache.spark.mllib.tree.DecisionTree.train(DecisionTree.scala:79)
    at org.apache.spark.mllib.tree.DecisionTree$.train(DecisionTree.scala:274)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:82)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:87)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:89)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:91)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:93)
java.lang.OutOfMemoryError:java堆空间
位于java.util.Arrays.copyOf(Arrays.java:3236)
在java.io.ByteArrayOutputStream.grow中(ByteArrayOutputStream.java:118)
在java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
在java.io.ByteArrayOutputStream.write处(ByteArrayOutputStream.java:153)
在java.io.ObjectOutputStream$BlockDataOutputStream.write处(ObjectOutputStream.java:1842)
位于java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1534)
位于java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
位于java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
位于java.io.ObjectOutputStream.WriteObject 0(ObjectOutputStream.java:1178)
位于java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
位于java.io.ObjectOutputStream.WriteObject 0(ObjectOutputStream.java:1174)
位于java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
位于java.io.ObjectOutputStream.WriteObject 0(ObjectOutputStream.java:1174)
位于java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
位于java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
位于java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
位于java.io.ObjectOutputStream.WriteObject 0(ObjectOutputStream.java:1178)
位于java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
位于org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:42)
位于org.apache.spark.serializer.JavaSerializerInstance.serialize(JavaSerializer.scala:73)
位于org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:164)
位于org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:158)
位于org.apache.spark.SparkContext.clean(SparkContext.scala:1242)
位于org.apache.spark.rdd.rdd.map(rdd.scala:270)
位于org.apache.spark.mllib.tree.impl.TreePoint$.converttotreedd(TreePoint.scala:58)
位于org.apache.spark.mllib.tree.DecisionTree.train(DecisionTree.scala:79)
位于org.apache.spark.mllib.tree.DecisionTree$.train(DecisionTree.scala:274)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC($82)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$87)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC。(:89)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC(:91)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC。(:93)