apache spark mlib загружает модель логистической регрессии из http источника - PullRequest
0 голосов
/ 24 ноября 2018

Мне нужна модель на внешнем http-источнике, которую я хочу загрузить в мое приложение для потоковой передачи с плавающей точкой для прогнозирования входящих данных.Поскольку данные поступают от разных производителей, мне приходится загружать отдельные модели в зависимости от данных.

Spark работает на кластере DCOS-mesos, а модель представляет собой папку с данными, метаданными и файлами паркета.Загрузка напрямую из http невозможна, требуется файл "...: *"

Я пытался загрузить их по пути "./testmodel/", он также попадает в песочницу, но не загружается вмодель из-за неправильного пути со следующим исключением: Исключение в потоке "main" org.apache.hadoop.mapred.InvalidInputException: Путь ввода не существует: файл: / mnt / mesos / sandbox / testmodel / metadata

def fileDownloader(url: String, filename: String) = {
  new URL(url) #> new File(filename) !!
}...

val modelFolder: File = new File("./testModel");
modelFolder.mkdir();
val modelDataFolder: File = new File("./testModel/data")
modelDataFolder.mkdir();
val modelMetaDataFolder: File = new File("./testModel/metadata");
modelMetaDataFolder.mkdir();


fileDownloader("http://extern-host.com/sparkmodel/testmodel/data/._SUCCESS.crc", "./testModel/data/._SUCCESS.crc");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/data/.part-00000-beca47f5-4fa8-4af8-ba76-21be4e0c4763-c000.snappy.parquet.crc", "./testModel/data/.part-00000-beca47f5-4fa8-4af8-ba76-21be4e0c4763-c000.snappy.parquet.crc");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/data/_SUCCESS", "./testModel/data/_SUCCESS");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/data/part-00000-beca47f5-4fa8-4af8-ba76-21be4e0c4763-c000.snappy.parquet", "./testModel/data/part-00000-beca47f5-4fa8-4af8-ba76-21be4e0c4763-c000.snappy.parquet");

fileDownloader("http://extern-host.com/sparkmodel/testmodel/metadata/._SUCCESS.crc", "./testModel/metadata/._SUCCESS.crc");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/metadata/.part-00000.crc", "./testModel/metadata/.part-00000.crc");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/metadata/_SUCCESS", "./testModel/metadata/_SUCCESS");
fileDownloader("http://extern-host.com/sparkmodel/testmodel/metadata/part-00000", "./testModel/metadata/part-00000");

val model = LogisticRegressionModel.load(sc, "./testModel");

Спасибо за совет

...