2016-09-08 9 views
0

Apache Sparkが提供するサンプルソースコードを実行して、FPGrowthモデルを作成しています。従って私は、私はこのコード(model.save)の終了行を書いて、将来の使用のためにモデルを保存したい:Scalaで書かれたコンパイルエラー保存モデル、Apache Spark

import org.apache.spark.{SparkConf, SparkContext} 
import org.apache.spark.mllib.fpm.FPGrowth 
import org.apache.spark.mllib.util._ 
import org.apache.spark.rdd.RDD 
import org.apache.spark.sql._ 
import java.io._ 
import scala.collection.mutable.Set 


object App { 


    def main(args: Array[String]) { 


    val conf = new SparkConf().setAppName("prediction").setMaster("local[*]") 
    val sc = new SparkContext(conf) 

    val data = sc.textFile("FPFeatureSeries.txt") 

    val transactions: RDD[Array[String]] = data.map(s => s.trim.split(' '))  
    val fpg = new FPGrowth() 
      .setMinSupport(0.1) 
      .setNumPartitions(10) 
    val model = fpg.run(transactions) 

    val minConfidence = 0.8 
    model.generateAssociationRules(minConfidence).collect().foreach { rule => 
     if(rule.confidence>minConfidence){ 
      println(
      rule.antecedent.mkString("[", ",", "]") 
       + " => " + rule.consequent .mkString("[", ",", "]") 


       + ", " + rule.confidence) 
      } 
      } 
    model.save(sc, "FPGrowthModel"); 


    } 
} 

問題は、私はコンパイルエラーを取得することです:保存値は、組織のメンバーではありません.apache.spark.mllib.fpm.FPGrowth

私はライブラリを含めて、ドキュメントから正確な例をコピーしようとしましたが、私はまだ同じエラーが発生しています。

私はSpark 2.0.0とScala 2.10を使用しています。

答えて

1

私は同じ問題がありました。モデル

sc.parallelize(Seq(model), 1).saveAsObjectFile("path") 

を保存し、モデル

val linRegModel = sc.objectFile[LinearRegressionModel]("path").first() 

をロードするためにこれを使用 これは...そのため what-is-the-right-way-to-save-load-models-in-spark-pyspark

+0

感謝を助けるかもしれません。しかし、objectFileの正しい型になるFPGrowthモデルをロードするには? – Kratos

関連する問題