我很难理解在一个火花流媒体工作中我们如何能够更新机器学习模型并使用它来进行预测。 此代码来自Spark StreamingLinearRegressionExample类
val trainingData = ssc.textFileStream(args(0)).map(LabeledPoint.parse).cache()
val testData = ssc.textFileStream(args(1)).map(LabeledPoint.parse)
val numFeatures = 3
val model = new StreamingLinearRegressionWithSGD()
.setInitialWeights(Vectors.zeros(numFeatures))
model.trainOn(trainingData)
model.predictOnValues(testData.map(lp => (lp.label, lp.features))).print()
变量 model 正在一个流中更新,并用于在另一个流中进行预测。我不明白的是 trainOn 方法中对模型所做的更改是如何反映在 predictOnValues 中的。