J'essaye d'exécuter un exemple de l'algorithme FPGrowth dans Spark, cependant, je rencontre une erreur. Ceci est mon code:Algorithme FPGrowth dans Spark
import org.apache.spark.rdd.RDD
import org.apache.spark.mllib.fpm.{FPGrowth, FPGrowthModel}
val transactions: RDD[Array[String]] = sc.textFile("path/transations.txt").map(_.split(" ")).cache()
val fpg = new FPGrowth().setMinSupport(0.2).setNumPartitions(10)
val model = fpg.run(transactions)
model.freqItemsets.collect().foreach { itemset => println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)}
Le code fonctionne jusqu'à la dernière ligne où je reçois l'erreur:
WARN TaskSetManager: Lost task 0.0 in stage 4.0 (TID 16, ip-10-0-0-###.us-west-1.compute.internal):
com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Can not set
final scala.collection.mutable.ListBuffer field org.apache.spark.mllib.fpm.FPTree$Summary.nodes to scala.collection.mutable.ArrayBuffer
Serialization trace:
nodes (org.apache.spark.mllib.fpm.FPTree$Summary)
J'ai même essayé d'utiliser la solution qui a été proposée ici: SPARK-7483
Je n'ai pas eu de chance avec ça non plus. Est-ce que quelqu'un a trouvé une solution à cela? Ou est-ce que quelqu'un connaît un moyen de voir les résultats ou de les enregistrer dans un fichier texte?
Toute aide serait grandement appréciée!
Je trouve aussi le code source complet pour cet algorithme - http://mail-archives.apache.org/mod_mbox/spark-commits/201502.mbox/%[email protected]%3E
Je reçois aussi des erreurs lorsque je cours parmi les exemples de jeux de données les plus simples possibles. Je reçois une sorte d'erreur de type de casting. Si vous progressez sur YOURS, n'hésitez pas à partager vos résultats. merci –