什么是用import spark.implicits._导入的?“想入非非”指的是某个包裹吗?如果是这样的话,为什么我不能在https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.package上的Scala文档中找到它?
发布于 2018-06-15 15:08:10
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语句在您的作用域中导入。您得到的最重要的东西是对DataFrames和Datasets的许多操作所必需的StringContext,它还将使用$"column_name"符号所需的StringContext引入到范围中。
implicits成员是SQLImplicits的一个实例,它的源代码(对于2.3.1版本)可以查看这里。
发布于 2021-04-04 03:35:06
它是scala通过对象导入的特性,因此api文档没有描述它。从ApacheS间隙源代码来看,implicits是SparkSession类中的一个对象类。implicits类对SQLImplicits进行了如下扩展:object implicits extends org.apache.spark.sql.SQLImplicits with scala.Serializable。SQLImplicits提供了一些更多的功能,如:
通过通过implicits导入import spark.implicits._ (其中spark是SparkSession类型对象),函数是隐式导入的。
https://stackoverflow.com/questions/50878224
复制相似问题