计算流成本

时间:2019-02-08 13:55:07

标签: apache-spark spark-streaming cluster-analysis apache-spark-mllib

我的代码使用类StreamingKMeans对来自kafka的流数据进行聚类。我想计算模型错误(WSSSE),但是类StreamingKMeansModel具有此功能computeCost(RDD<Vector> data)。输入是RDD,而不是DStream。我不能将此函数应用于DStream。 我这样做可以解决问题:

trainingData.saveAsTextFiles("/home/hduser/sbt_project/project1/Dstream/")
val rddTraining= ssc.sparkContext.textFile("/home/hduser/sbt_project/project1/Dstream/")
val vectorTraining=rddTraining.map(s => Vectors.dense(s.split(' ').map(_.toDouble))).cache()
val WSSSE=model.latestModel().computeCost(vectorTraining)

但是saveAsTextFiles每个流创建一个文件夹,而textFile  从文件读取而不是从文件夹读取。

我可以解决此问题吗?我可以将流附加到文件吗?

0 个答案:

没有答案