You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Hyukjin Kwon (JIRA)" <ji...@apache.org> on 2019/05/21 04:16:52 UTC

[jira] [Resolved] (SPARK-22427) StackOverFlowError when using FPGrowth

     [ https://issues.apache.org/jira/browse/SPARK-22427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hyukjin Kwon resolved SPARK-22427.
----------------------------------
    Resolution: Incomplete

> StackOverFlowError when using FPGrowth
> --------------------------------------
>
>                 Key: SPARK-22427
>                 URL: https://issues.apache.org/jira/browse/SPARK-22427
>             Project: Spark
>          Issue Type: Bug
>          Components: ML, MLlib
>    Affects Versions: 2.2.0
>         Environment: Centos Linux 3.10.0-327.el7.x86_64
> java 1.8.0.111
> spark 2.2.0
>            Reporter: lyt
>            Priority: Major
>              Labels: bulk-closed
>
> code part:
>         val path = jobConfig.getString("hdfspath")
>         val vectordata = sc.sparkContext.textFile(path)
>         val finaldata = sc.createDataset(vectordata.map(obj => {
>           obj.split(" ")
>         }).filter(arr => arr.length > 0)).toDF("items")
>         val fpg = new FPGrowth()
>         fpg.setMinSupport(minSupport).setItemsCol("items").setMinConfidence(minConfidence)
>         val train = fpg.fit(finaldata)
>         print(train.freqItemsets.count())
>         print(train.associationRules.count())
>         train.save("/tmp/FPGModel")
> And encountered following exception:
> Driver stacktrace:
> 	at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1499)
> 	at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1487)
> 	at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1486)
> 	at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
> 	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
> 	at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1486)
> 	at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
> 	at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
> 	at scala.Option.foreach(Option.scala:257)
> 	at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:814)
> 	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1714)
> 	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1669)
> 	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1658)
> 	at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
> 	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:630)
> 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2022)
> 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2043)
> 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2062)
> 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2087)
> 	at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:936)
> 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
> 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
> 	at org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
> 	at org.apache.spark.rdd.RDD.collect(RDD.scala:935)
> 	at org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:278)
> 	at org.apache.spark.sql.Dataset$$anonfun$count$1.apply(Dataset.scala:2430)
> 	at org.apache.spark.sql.Dataset$$anonfun$count$1.apply(Dataset.scala:2429)
> 	at org.apache.spark.sql.Dataset$$anonfun$55.apply(Dataset.scala:2837)
> 	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:65)
> 	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:2836)
> 	at org.apache.spark.sql.Dataset.count(Dataset.scala:2429)
> 	at DataMining.FPGrowth$.runJob(FPGrowth.scala:116)
> 	at DataMining.testFPG$.main(FPGrowth.scala:36)
> 	at DataMining.testFPG.main(FPGrowth.scala)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:755)
> 	at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
> 	at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
> 	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
> 	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
> Caused by: java.lang.StackOverflowError
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:616)
> 	at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:36)
> 	at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:33)
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
> 	at com.twitter.chill.TraversableSerializer$$anonfun$write$1.apply(Traversable.scala:29)
> 	at com.twitter.chill.TraversableSerializer$$anonfun$write$1.apply(Traversable.scala:27)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
> 	at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)
> 	at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
> 	at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)
> 	at com.twitter.chill.TraversableSerializer.write(Traversable.scala:27)
> 	at com.twitter.chill.TraversableSerializer.write(Traversable.scala:21)
> 	at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:552)
> 	at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80)
> 	at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:518)
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
> 	at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:37)
> 	at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:33)
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
> 	at com.twitter.chill.TraversableSerializer$$anonfun$write$1.apply(Traversable.scala:29)
> 	at com.twitter.chill.TraversableSerializer$$anonfun$write$1.apply(Traversable.scala:27)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
> 	at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)
> 	at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
> 	at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)
> 	at com.twitter.chill.TraversableSerializer.write(Traversable.scala:27)
> 	at com.twitter.chill.TraversableSerializer.write(Traversable.scala:21)
> 	at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:552)
> 	at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80)
> 	at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:518)
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
> 	.....
> 17/11/02 13:34:08 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
> 17/11/02 13:34:08 INFO MemoryStore: MemoryStore cleared
> 17/11/02 13:34:08 INFO BlockManager: BlockManager stopped
> 17/11/02 13:34:08 INFO BlockManagerMaster: BlockManagerMaster stopped
> 17/11/02 13:34:08 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
> 17/11/02 13:34:08 INFO SparkContext: Successfully stopped SparkContext
> 17/11/02 13:34:08 INFO ShutdownHookManager: Shutdown hook called
> 17/11/02 13:34:08 INFO ShutdownHookManager: Deleting directory /tmp/spark-6a7f9ad8-2332-433e-8132-1fc3d96b6845



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org