Как сохранить модель Spark Mllib KMeans?model.save приводит к пустым папкам - PullRequest
0 голосов
/ 31 января 2019

У меня есть источник потока, и я сначала пытаюсь получить модель K-средних кластеризации.Позже я планирую загрузить эту модель в StreamingKMeans.Вот как далеко я зашел, но операция сохранения приводит к пустой папке /data.

srtLabeledPoints.foreachRDD{ rdd => {
   import sparkSession.implicits._   

   val testTrain = rdd.randomSplit(Array(0.3, 0.7))      
   val test = testTrain(0)
   val train = testTrain(1)

   val model = kMeans.run(train.map(f => f.features))  
   val a = model.predict(test.map(f => f.features))
   println("******************")       
   a.take(50).foreach(println)
   val b = model.save(sparkSession.sparkContext, "/mnt/c/Users/ssss/ml/oooModel3" + a.id)
   println("******************")       
   }
   rdd.unpersist()
 }

, где kmeans - это следующее

val kMeans   = new org.apache.spark.mllib.clustering.KMeans()
  .setK(20) //# of clusters
  .setSeed(31)

Я вижу классификацию (от 0 до 19)отображается на консоли (с операцией принятия).Но / data пуста и / metadata имеет файл размером 1 Кб со следующим содержимым:

{"class":"org.apache.spark.mllib.clustering.KMeansModel","version":"2.0","k":20,"distanceMeasure":"euclidean","trainingCost":5.147088938203919E11}

Что я делаю не так, чтобы сохранить модель?

...