簡體   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