Я бился головой об этом некоторое время, и я официально застрял.Я пытаюсь скомпилировать jar-файл, содержащий простое задание scala / spark, которое выполняется на блоках данных Azure, включая зависимость от CosmosDB.При импорте azure-cosmosdb-spark
возникают конфликтующие кросс-версии ошибок во время компиляции, которые, как я полагаю, являются результатом некоторой переходной зависимости.Я пробовал несколько разных версий spark и scala, но не помог, и сообщения об ошибках не говорят много.
Мой минимальный пример для воспроизведения ошибки - просто build.sbt
, в настоящий момент классы scala не компилируются.Ниже приведен пример моего build.sbt
:
name := "ranchero"
version := "0.0.1"
scalaVersion := "2.11.8"
val sparkVersion = "2.2.0"
// additional libraries
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion % "provided",
"org.apache.spark" %% "spark-sql" % sparkVersion % "provided",
"org.apache.spark" %% "spark-mllib" % sparkVersion % "provided",
"joda-time" % "joda-time" % "2.9.9",
"org.scalatest" %% "scalatest" % "3.0.0" % "test",
"com.microsoft.azure" % "azure-cosmosdb-spark_2.2.0_2.11" % "1.1.0"
)
resolvers ++= Seq(
"apache-snapshots" at "http://repository.apache.org/snapshots/",
"Maven central" at "http://repo1.maven.org/maven2/",
)
, если я закомментирую зависимость от cosmosdb, все будет хорошо скомпилировано.После добавления этого депозита я получаю сообщения об ошибках:
[error] Modules were resolved with conflicting cross-version suffixes in {file:/home/*******/development/ranchero/}ranchero:
[error] org.apache.spark:spark-launcher _2.10, _2.11
[error] org.json4s:json4s-ast _2.10, _2.11
[error] org.apache.spark:spark-network-shuffle _2.10, _2.11
[error] com.twitter:chill _2.10, _2.11
[error] org.json4s:json4s-jackson _2.10, _2.11
[error] com.fasterxml.jackson.module:jackson-module-scala _2.10, _2.11
[error] org.json4s:json4s-core _2.10, _2.11
[error] org.apache.spark:spark-unsafe _2.10, _2.11
[error] org.apache.spark:spark-core _2.10, _2.11
[error] org.apache.spark:spark-network-common _2.10, _2.11
[error] java.lang.RuntimeException: Conflicting cross-version suffixes in: org.apache.spark:spark-launcher, org.json4s:json4s-ast, org.apache.spark:spark-network-shuffle, com.twitter:chill, org.json4s:json4s-jackson, com.fasterxml.jackson.module:jackson-module-scala, org.json4s:json4s-core, org.apache.spark:spark-unsafe, org.apache.spark:spark-core, org.apache.spark:spark-network-common
, что, к сожалению, не очень помогает.Любые предложения о том, как исправить это?