Я практиковался в разработке образца модели, используя онлайн-ресурсы, представленные на веб-сайте spark. Мне удалось создать модель и запустить ее для выборки данных с помощью Spark-Shell, но как на самом деле запустить модель в производственной среде? Это через сервер Spark Job?
import org.apache.spark.mllib.classification.SVMWithSGD
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.linalg.Vectors
val data = sc.textFile("hdfs://mycluster/user/Cancer.csv")
val parsedData = data.map { line =>
val parts = line.split(',')
LabeledPoint(parts.last.toDouble, Vectors.dense(parts.take(9).map(_.toDouble)))
}
var svm = new SVMWithSGD().setIntercept(true)
val model = svm.run(parsedData)
var predictedValue = model.predict(Vectors.dense(5,1,1,1,2,1,3,1,1))
println(predictedValue)
Приведенный выше код отлично работает, когда я запускаю его в spark-shell, но я понятия не имею, как мы на самом деле запускаем модель в производственной среде. Я попытался запустить его через сервер заданий Spark, но я получаю сообщение об ошибке.
curl -d "input.string = 1, 2, 3, 4, 5, 6, 7, 8, 9" 'ptfhadoop01v:8090/jobs?appName=SQL&classPath=spark.jobserver.SparkPredict'
Я уверен, что это потому, что я передаю строковое значение, тогда как программа ожидает, что это будут векторные элементы. Может ли кто-нибудь подсказать мне, как этого добиться. А также, как данные передаются в модель в производственной среде? Или это как-то иначе.