Правильный способ сделать Spark Fat Jar, используя SBT
Мне нужен Fat Jar с Spark, потому что я создаю собственный узел для Knime. По сути, это автономная банка, выполненная внутри Knime, и я предполагаю, что Fat Jar - единственный способ создать местную работу Spark. Со временем мы продолжим отправку задания в удаленный кластер, но сейчас мне нужно, чтобы оно появилось таким образом.
Тем не менее, я сделал Fat Jar, используя это:https://github.com/sbt/sbt-assembly
Я сделал пустой проект sbt, включил Spark-core в зависимости и собрал Jar. Я добавил его в манифест моего пользовательского узла Knime и попытался создать простую работу (переопределить коллекцию, собрать и распечатать). Это начинается, но я получаю эту ошибку:
Не найден параметр конфигурации для ключа 'akka.version'
Понятия не имею, как это решить.
Изменить: это мой build.sbt
name := "SparkFatJar"
version := "1.0"
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.3.0"
)
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.8"
assemblyJarName in assembly := "SparkFatJar.jar"
assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
Я нашел эту стратегию для Spark где-то в интернете, но сейчас не могу найти источник.