dockeriztion和运行docker

时间:2018-08-17 08:50:17

标签: scala docker apache-spark apache-spark-mllib

我正在使用 scala:2.11.8 spark

我通过spark加载了crossValidationModel。

val crossValidatorModel: CrossValidatorModel = CrossValidatorModel.
read.load(getClass.getResource(modelPath).toString.replace("file:", ""))

我运行代码时,它没有例外,可以读取 src / main / resources 文件夹中的文件夹 / model

但是我想将其泊坞窗化。

使用命令docker化之后:

sbt docker:publishLocal

我通过以下方式运行它:

docker run "its image ID"

但是运行后,spark无法文件夹“ / model”及以下抛出的异常:

  

线程“主”中的异常java.lang.IllegalArgumentException:   java.net.URISyntaxException:绝对URI中的相对路径:   jar:文件:/opt/docker/lib/tamiz-0.1.0.jar!/ model位于   org.apache.hadoop.fs.Path.initialize(Path.java:206)在   org.apache.hadoop.fs.Path。(Path.java:172)在   org.apache.hadoop.fs.Path。(Path.java:89)在   org.apache.spark.ml.util.DefaultParamsReader $ .loadMetadata(ReadWrite.scala:386)     在   org.apache.spark.ml.tuning.ValidatorParams $ .loadImpl(ValidatorParams.scala:180)     在   org.apache.spark.ml.tuning.CrossValidatorModel $ CrossValidatorModelReader.load(CrossValidator.scala:388)     在   org.apache.spark.ml.tuning.CrossValidatorModel $ CrossValidatorModelReader.load(CrossValidator.scala:379)     在   com.miras.miniature.Main $ .delayedEndpoint $ com $ miras $ miniature $ Main $ 1(Main.scala:32)     在com.miras.miniature.Main $ delayedInit $ body.apply(Main.scala:21)在   scala.Function0 $ class.apply $ mcV $ sp(Function0.scala:34)在   scala.runtime.AbstractFunction0.apply $ mcV $ sp(AbstractFunction0.scala:12)     在scala.App $$ anonfun $ main $ 1.apply(App.scala:76)在   scala.App $$ anonfun $ main $ 1.apply(App.scala:76)在   scala.collection.immutable.List.foreach(List.scala:381)在   scala.collection.generic.TraversableForwarder $ class.foreach(TraversableForwarder.scala:35)     在scala.App $ class.main(App.scala:76)

实际上,我想要一个在dockeriztion之后通过Spark加载模型的解决方案

0 个答案:

没有答案