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

什么是用spark.implicit.导入的?

  •  1
  • Joe  · 技术社区  · 6 年前

    什么是进口的 import spark.implicits._ 是吗?“implicit”指的是某个包吗?如果是这样,为什么我在scala api文档中找不到它? https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.package 是吗?

    1 回复  |  直到 5 年前
        1
  •  3
  •   stefanobaghino    5 年前

    scala允许您将“动态”的东西导入到范围中。你也可以这样做:

    final case class Greeting(hi: String)
    
    def greet(greeting: Greeting): Unit = {
      import greeting._ // everything in greeting is now available in scope
      println(hi)
    }
    

    这个 SparkSession 实例带有一些您在您的作用域中导入的含义 import 声明。你得到的最重要的东西是 Encoder 很多操作都需要 DataFrame S和 Dataset S.它还将 StringContext 你必须使用 $"column_name" 符号。

    这个 implicits 成员是的实例 SQLImplicits ,您可以查看其源代码(用于版本2.3.1) here .