当前位置: 首页 > 知识库问答 >
问题:

build.sbt:如何添加火花依赖

阳福
2023-03-14

您好,我正在尝试在构建中下载spark corespark streamingtwitter4j,以及spark streaming twitter。sbt文件如下:

name := "hello"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"

libraryDependencies ++= Seq(
  "org.twitter4j" % "twitter4j-core" % "3.0.3",
  "org.twitter4j" % "twitter4j-stream" % "3.0.3"
)

libraryDependencies += "org.apache.spark" % "spark-streaming-twitter_2.10" % "0.9.0-incubating"

我只是把这个库依赖联机,所以我不确定使用哪个版本等。

有人能向我解释一下我应该如何修复这个. sbt文件吗?我花了几个小时试图弄清楚,但没有一个建议奏效。我安装了scala通过家酿和我的版本2.11.8

我所有的错误都是关于:

Modules were resolved with conflicting cross-version suffixes.

共有2个答案

陶福
2023-03-14

这对我很有用:

name := "spark_local"

version := "0.1"

scalaVersion := "2.11.8"


libraryDependencies ++= Seq(
  "org.twitter4j" % "twitter4j-core" % "3.0.5",
  "org.twitter4j" % "twitter4j-stream" % "3.0.5",
  "org.apache.spark" %% "spark-core" % "2.0.0",
  "org.apache.spark" %% "spark-sql" % "2.0.0",
  "org.apache.spark" %% "spark-mllib" % "2.0.0",
  "org.apache.spark" %% "spark-streaming" % "2.0.0"
)
邢飞鸿
2023-03-14

问题是您混合了Scala 2.11和2.10工件。你有:

scalaVersion := "2.11.8"

然后呢:

libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"

其中需要2.10工件。您还混合了Spark版本,而不是使用一致的版本:

// spark 1.6.1
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"

// spark 1.4.1
libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"

// spark 0.9.0-incubating
libraryDependencies += "org.apache.spark" % "spark-streaming-twitter_2.10" % "0.9.0-incubating"

下面是一个修复这两个问题的build.sbt

name := "hello"

version := "1.0"

scalaVersion := "2.11.8"

val sparkVersion = "1.6.1"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-streaming" % sparkVersion,
  "org.apache.spark" %% "spark-streaming-twitter" % sparkVersion
)

您也不需要手动添加twitter4j依赖项,因为它们是通过spark streaming twitter以传递方式添加的。

 类似资料:
  • 我有一个sbt-plugin,当启用时,通过scalac选项添加scalac编译器插件。一切都很好。 null

  • 更新 当我在proj B上进行sbt编译时,它抛出错误,依赖类找不到。类Hbase在Proj A中。 在建议之后更新了build.sbt: “;”应为,但在projB设置中为该行抛出了找到的字符串文本。 我对这个错误一无所知。

  • 我使用的是Android studio版本 在项目级分级中: 模块级别等级: 当我导入它时,它发生错误 导入此时 xml错误 错误图片 在xml中添加此标记时发生错误 为此给出解决方案!!!

  • 我有一个 功能,请告诉我是否有任何解决方法。 谢谢你。!

  • 然后我跑: 然后我得到: IllegalArgumentException:需求失败:列数不匹配。旧列名(1):值新列名(5):startIP,endIP,City,Longitude,Latitude at scala.predef$.require(predef.scala:224)at org.apache.spark.sql.dataset.todf(dataset.scala:376)a

  • 当我试图用Intellij编译我的项目时,sbt正在抱怨未解决的依赖项 [Warn]===public:已尝试[Warn]https://repol.maven.org/maven2/org/apache/spark/spark-core/2.1.1/spark-core-2.1.1.pom[Warn]未解析的依赖关系路径:org.apache.spark:spark-core:2.1.1 我的s