繁体   English   中英

它是Scala中的吸气剂吗? (来自Spark的RDD类源)

[英]Is it a getter in scala? (from the RDD class source of Spark)

当我们在spark中进行检查点时,我们会通过以下语句:

checkpointData.get.doCheckPoint()

为什么不改用checkpointData.doCheckPoint() 语句中的get类似于getter吗? 我知道scala类将自动生成getter和setter。

还是我不知道的其他语法?

如果您正在谈论RDD类的源代码( https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala ),那么它就是因为checkpointData具有Option[RDDCheckpointData[T]]

请参见源代码中的声明:

private[spark] var checkpointData: Option[RDDCheckpointData[T]] = ...

因此,要调用RDDCheckpointData方法,我们需要从Option中获取它(在确保它为isDefined ,如您在代码中所看到的)

了解有关scala选项类的更多信息: http : //www.scala-lang.org/api/current/index.html#scala.Option http://danielwestheide.com/blog/2012/12/19/the-neophytes-引导到阶部分-5-的选项-type.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM