[英]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.