Мне нужна модель на внешнем 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");
Спасибо за совет