代码之家  ›  专栏  ›  技术社区  ›  matanster

使sbt scala构建文件引入apache spark

  •  0
  • matanster  · 技术社区  · 6 年前

    我有一个scala构建文件 project 目录如下,但是我的导入失败了,解决这个问题的惯用方法是什么?与build.sbt定义相比,scala构建文件仍然是推荐的构建吗?官方文件没有提供任何见解。

    import sbt.{Def, ExclusionRule, ModuleID}
    import sbt.Keys.{dependencyOverrides, libraryDependencies}
    import sbt._
    
    object MyBuild {
    
      lazy val sparkVersion = "2.2.1"
    
      val commonDependencies: Seq[ModuleID] = Seq()
    
      val sparkDependencies: Seq[ModuleID] = Seq(
        "org.apache.spark" %% "spark-core" % sparkVersion,
        "org.apache.spark" %% "spark-sql" % sparkVersion,
        "org.apache.hadoop" % "hadoop-common" % sparkVersion sparkVersion,
        "org.apache.spark" %% "spark-hive" % sparkVersion,
        "org.apache.hadoop" % "hadoop-client" % "2.7.2"
      )
    
      lazy val project = Project("my-project", file("."))
        .settings(
          libraryDependencies ++= sparkDependencies
        )
    }
    

    在我的源代码中,我不能:

    import org.apache.spark.sql.DataFrame
    

    简单的解决办法是什么?我需要指定这里的对象应该被执行还是默认情况下才执行?

    生成属性 :

    sbt.version = 0.13.16
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   Ashwanth Kumar    6 年前

    您可能需要对生成定义进行以下更改

    object MyBuild extends Build {
      ....
    }
    

    为了避免这些常见问题,请尝试 build.sbt 在SBT中使用构建定义的方法,除非您的构建规范中有很多定制。

    推荐文章