Scala 为什么我要导入这么多类?
我正在看示例Spark代码,我有点困惑,为什么我正在看的示例代码需要两个导入语句:Scala 为什么我要导入这么多类?,scala,apache-spark,Scala,Apache Spark,我正在看示例Spark代码,我有点困惑,为什么我正在看的示例代码需要两个导入语句: import org.apache.spark._ import org.apache.spark.SparkContext._ 这是斯卡拉。据我所知,u是通配符。看起来我要导入两次SparkContext。有人能解释一下吗?第一行说导入包org.apache.spark中的所有类。这意味着您可以使用所有这些类,而无需在它们前面加上包名 第二行表示导入类的所有静态成员SparkContext。这意味着您可以使用
import org.apache.spark._
import org.apache.spark.SparkContext._
这是斯卡拉。据我所知,u是通配符。看起来我要导入两次SparkContext。有人能解释一下吗?第一行说导入包
org.apache.spark
中的所有类。这意味着您可以使用所有这些类,而无需在它们前面加上包名
第二行表示导入类的所有静态成员SparkContext
。这意味着您可以使用这些成员,而无需在其名称前加上类名
请记住,import
在运行时并不真正执行任何操作;它只是让你写更少的代码。实际上,您并没有两次“导入”任何内容。术语import
的使用来自Java,无可否认,它令人困惑
这可能有助于:
如果没有第一行,你不得不说
org.apache.spark.SparkContext
但是第一个输入行让你说
SparkContext
如果你只有第一行而没有第二行,你就得写
SparkContext.getOrCreate
但对于这两个导入行,您只需编写
getOrCreate
第一行表示导入包
org.apache.spark
中的所有类。这意味着您可以使用所有这些类,而无需在它们前面加上包名
第二行表示导入类的所有静态成员SparkContext
。这意味着您可以使用这些成员,而无需在其名称前加上类名
请记住,import
在运行时并不真正执行任何操作;它只是让你写更少的代码。实际上,您并没有两次“导入”任何内容。术语import
的使用来自Java,无可否认,它令人困惑
这可能有助于:
如果没有第一行,你不得不说
org.apache.spark.SparkContext
但是第一个输入行让你说
SparkContext
如果你只有第一行而没有第二行,你就得写
SparkContext.getOrCreate
但对于这两个导入行,您只需编写
getOrCreate
杰出的非常感谢。杰出的非常感谢。由于Spark 2.2已经过时,我强烈建议您远离这些软件包,除非您有理由不这样做。使用Spark SQL(与SparkSession和其他功能一起使用)。准备考试。你知道它是怎么回事。这可以缩短为
import org.apache.spark.\uz,SparkContext.\uz
因为spark 2.2已经过时了,我强烈建议你远离这些软件包,除非你有理由不这么做。使用Spark SQL(与SparkSession和其他功能一起使用)。准备考试。你知道它是怎么回事。这可以缩短为import org.apache.spark.\u,SparkContext.\u