ash*_*thi 4 scala apache-spark
为什么在 scala Spark 应用程序中初始化 SQLContext 后导入隐式 SqlContext.implicits._ 。
当导入放在对象之外时,似乎存在问题。
我来自 java 背景,不理解 def 对象中 import 语句的用法。
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
import sqlContext._
Run Code Online (Sandbox Code Playgroud)
导入在外部不起作用,因为该implicits
对象是在SQLContext
类内部定义的:
* :: Experimental ::
* (Scala-specific) Implicit methods available in Scala for converting
* common Scala objects into `DataFrame`s.
*
* {{{
* val sqlContext = new SQLContext(sc)
* import sqlContext.implicits._
* }}}
@Experimental
@InterfaceStability.Evolving
object implicits extends SQLImplicits with Serializable {
protected override def _sqlContext: SQLContext = self
}
Run Code Online (Sandbox Code Playgroud)
因此,只有拥有 的实例后,SQLContext
才能导入包含所有隐式的内部对象定义。
归档时间: |
|
查看次数: |
1682 次 |
最近记录: |