SparkアプリケーションJarをビルドしたいと思います。私の期待は:私が瓶を./spark-submit
で実行すると、アプリケーションは私自身のビルドされたmllib(例:spark-mllib_2.11-2.2.0-SNAPSHOT.jar
)を利用します。modified Spark MLlibモジュールを依存関係として使用する方法は?
これは私のbuild.sbt
です:
name:="SoftmaxMNIST"
version := "1.0"
scalaVersion := "2.11.4"
unmanagedJars in Compile += file("lib/spark-mllib_2.11-2.2.0-SNAPSHOT.jar")
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.1.0",
"org.apache.spark" %% "spark-sql" % "2.1.0
)
// META-INF discarding
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
}
私はすでに/My-Project-Path/lib/
ディレクトリにして自分の内蔵spark-mllib_2.11-2.2.0-SNAPSHOT.jar
を落としました。しかし、それは動作しません。私はAWS EC2上で自分のアプリケーションを実行すると、究極の目的は、私のアプリケーションは、常に自分自身を使用していること:アプリケーションがまだそれが
PS PATH/spark-2.1.0-bin-hadoop2.7/jars/
ディレクトリにある私の場合にはスパークのデフォルトmllib jar
を、使用しているようです-built mllib
デフォルトのものの代わりに。私は自分のmllib
を頻繁に変更することがあります。
誰でも私がこれを解決するのを手助けできますか?前もって感謝します!