【问题标题】:org.apache.spark#hadoop-cloud_2.12;3.1.2: not foundorg.apache.spark#hadoop-cloud_2.12;3.1.2:未找到
【发布时间】:2021-08-19 14:21:47
【问题描述】:

在 Spark SBT 项目中,我关注 https://spark.apache.org/docs/latest/cloud-integration.html 直接访问 s3 上的数据。但是,我得到org.apache.spark#hadoop-cloud_2.12;3.1.2: not found。文档中提到了provided 范围,但由于此作业在本地运行,因此没有 JDK/应用程序容器提供任何东西。在 Maven Central 上,我看到各种供应商发布了各自的版本方案,但没有一个与我的特定 Spark 版本匹配:3.1.2

这些是我的相关依赖项:

  // Version.spark is 3.1.2
  val spark   = Seq(
    "org.apache.spark" %% "spark-core"   % Version.spark,
    "org.apache.spark" %% "spark-sql"    % Version.spark,
    "org.apache.spark" %% "hadoop-cloud" % Version.spark
  )

我应该转而使用hadoop-aws 包吗? https://hadoop.apache.org/docs/current/hadoop-aws/tools/hadoop-aws/index.html

【问题讨论】:

    标签: scala apache-spark hadoop


    【解决方案1】:

    像 hadoop-aws 依赖一样,它不包含在内,此时最新的 jar 位于 cloudera 存储库中,默认情况下未添加到 spark。 https://mvnrepository.com/artifact/org.apache.spark/spark-hadoop-cloud?repo=cloudera-repos

    以下内容适用于 spark 3.1.2:

    .config("spark.jars.repositories", "https://repository.cloudera.com/artifactory/cloudera-repos/")
    .config("spark.jars.packages", "org.apache.spark:spark-hadoop-cloud_2.12:3.1.1.3.1.7270.0-253")
    

    【讨论】:

      【解决方案2】:

      在 build.sbt 文件中,您可以添加以下行

      libraryDependencies ++= Seq("org.apache.spark" %% "spark-hadoop-cloud" % "3.1.1.3.1.7270.0-253")
      
      
      resolvers ++= Seq("Cloudera spark-cloud" at "https://repository.cloudera.com/artifactory/cloudera-repos/")
      

      请注意libraryDependencies 中的%% 会将您项目的scala 版本添加到工件名称中。阅读更多here.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-13
        相关资源
        最近更新 更多