【发布时间】:2018-03-27 19:21:35
【问题描述】:
我有一个巨大的数据框(500 万行),每一行都是一篮子项目,我正在尝试获取频繁项目集和关联规则。但它给了我 StackOverflowErrors,我尝试设置检查点目录但它没有解决问题。知道如何解决这个问题吗?提前非常感谢
fpGrowth = FPGrowth(itemsCol="ARFeatures", minSupport=0.8, minConfidence=0.9)
model = fpGrowth.fit(completeDf)
java.lang.StackOverflowError 在 java.lang.reflect.InvocationTargetException.(InvocationTargetException.java:72) 在 sun.reflect.GeneratedMethodAccessor14.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 在 scala.collection.mutable.HashMap$$anonfun$writeObject$1.apply(HashMap.scala:138) 在 scala.collection.mutable.HashMap$$anonfun$writeObject$1.apply(HashMap.scala:136) 在 scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230) 在 scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40) 在 scala.collection.mutable.HashTable$class.serializeTo(HashTable.scala:125) 在 scala.collection.mutable.HashMap.serializeTo(HashMap.scala:40) 在 scala.collection.mutable.HashMap.writeObject(HashMap.scala:136) 在 sun.reflect.GeneratedMethodAccessor14.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 在 scala.collection.mutable.HashMap$$anonfun$writeObject$1.apply(HashMap.scala:138)
【问题讨论】:
-
我不知道 FPGrowth 的内部原理,但是您是否尝试过增加堆栈大小? (JVM选项-Xss)
-
这是 spark-submit 的命令行参数之一吗?
标签: apache-spark pyspark stack-overflow pyspark-sql