【问题标题】:Excluding hadoop dependency from spark library in sbt file从 sbt 文件中的 spark 库中排除 hadoop 依赖项
【发布时间】:2016-12-24 03:18:46
【问题描述】:

我正在研究 spark 1.3.0 。我的 build.sbt 如下所示:

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.3.0" % "provided",
  "org.apache.spark" %% "spark-sql" % "1.3.0" % "provided",
  "org.apache.spark" %% "spark-streaming" % "1.3.0" % "provided",
  "org.apache.spark" %% "spark-mllib" % "1.3.0" % "provided",
  "org.springframework.security" % "spring-security-web" % "3.0.7.RELEASE",
  "com.databricks" % "spark-csv_2.10" % "1.4.0"
)

// META-INF discarding
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
   {
    case PathList("META-INF", xs @ _*) => MergeStrategy.discard
    case x => MergeStrategy.first
   }
}

在编译期间使用了这个 sbt 文件 hadoop 2.2.0。但是我的运行环境包含 hadoop 2.6.0 。谁能帮助我如何从 spark 库中排除 hadoop 依赖项并在 sbt 文件中提及 hadoop 2.6.0?

谢谢

【问题讨论】:

    标签: hadoop apache-spark sbt spark-streaming hadoop2


    【解决方案1】:

    我认为 Spark 包不会引入 Hadoop 依赖项。您的构建将不包含 Hadoop 客户端库。您必须使用 Spark 安装中的 spark-submit 运行您的应用程序。当您download Spark 时,请确保您下载了支持 Hadoop 2.6 的 Spark 版本。

    Spark 1.3.0 (2015-03-15) 没有 Hadoop 2.6 版本。最早提供 Hadoop 2.6 构建的 Spark 版本是 Spark 1.3.1 (2015-04-17)。

    这些都是 Spark 的古老版本,自那时以来已修复了许多已知错误。除非你喜欢 bug,否则我建议使用 Spark 1.6.2 或 2.0.0。

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 2014-07-03
      • 2018-08-19
      • 2014-05-01
      • 2016-02-28
      • 2015-09-23
      • 2014-07-18
      • 2015-10-03
      • 1970-01-01
      相关资源
      最近更新 更多