Я пытаюсь написать приложение Spark, которое подключается к CosmosDB, используя azure-cosmosdb-spark . Однако я продолжаю получать конфликты зависимостей, хотя я использую правильные версии Spark и Scala.
Мне удалось использовать соединитель в кластере Azure Databricks с той же версией Spark, поэтому я немного растерялся, в чем здесь проблема.
Я уже читал эти посты ( Разработка scala spark-приложения, которое подключается к Azure CosmosDB & Spark библиотеки сбиваются, когда cosmosdb Lib ), но все еще не может решить мою проблему.
Вот часть моей конфигурации SBT, которая пытается использовать разъем:
sparkVersion in ThisBuild := "2.2.0" // I also tried "2.2.1"
sparkComponents in ThisBuild += "mllib"
spIgnoreProvided in ThisBuild := true
scalaVersion in ThisBuild := "2.11.12"
parallelExecution in ThisBuild := false
scalacOptions in Compile ++= Seq("-implicits", "-feature")
lazy val root = (project in file("."))
.aggregate(shaker, ...)
.settings(Publish.notPublished: _*)
lazy val shaker = project
.settings(name := "project-name")
.settings(libraryDependencies += "com.github.pureconfig" %% "pureconfig" % "0.9.0")
.settings(libraryDependencies += "com.github.scopt" %% "scopt" % "3.7.0")
.settings(libraryDependencies += "com.microsoft.azure" % "azure-cosmosdb-spark_2.2.0_2.11" % "1.1.1")
.settings(scalacOptions += "-Xmacro-settings:materialize-derivations")
Я получаю следующую ошибку при запуске SBT:
[error] (shaker/*:update) 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
Спасибо за помощь!