-1
Я этот код, чтобы найти некоторые ассоциативные правила:Спарк 1.6 - ассоциативные правила алгоритма - не может быть применен к (org.apache.spark.rdd.RDD [Array [String]])
import org.apache.spark.mllib.fpm.AssociationRules
import org.apache.spark.mllib.fpm.FPGrowth.FreqItemset
val data = sc.textFile("FILE");
val transactions: RDD[Array[String]] = data.map(s => s.trim.split(','));
val ar = new AssociationRules()
.setMinConfidence(0.8)
val results = ar.run(transactions)
results.collect().foreach { rule =>
println("[" + rule.antecedent.mkString(",")
+ "=>"
+ rule.consequent.mkString(",") + "]," + rule.confidence)
}
Но Я получаю эту ошибку:
<console>:50: error: overloaded method value run with alternatives:
[Item](freqItemsets: org.apache.spark.api.java.JavaRDD[org.apache.spark.mllib.fpm.FPGrowth.FreqItemset[Item]])org.apache.spark.api.java.JavaRDD[org.apache.spark.mllib.fpm.AssociationRules.Rule[Item]] <and>
[Item](freqItemsets: org.apache.spark.rdd.RDD[org.apache.spark.mllib.fpm.FPGrowth.FreqItemset[Item]])(implicit evidence$1: scala.reflect.ClassTag[Item])org.apache.spark.rdd.RDD[org.apache.spark.mllib.fpm.AssociationRules.Rule[Item]]
cannot be applied to (org.apache.spark.rdd.RDD[Array[String]])
val results = ar.run(transactions)
Как я могу преобразовать этот rdd в тип, которым нужны правила ассоциации?
Большое спасибо!
Если ответ решить вашу проблему, то вы должны пометить его как правильный ответ. Он мотивирует ответчиков и помогает тем, кто читает ответы. – Samar