当我阅读spark的源代码时,有些scala语法

时间:2015-02-12 07:51:57

标签: scala apache-spark

1,=>是什么这意味着什么?

 import org.apache.spark.ml.recommendation.{ALS => NewALS}

2,' @'在函数之前意味着什么?

  @DeveloperApi
    def setIntermediateRDDStorageLevel(storageLevel: StorageLevel): this.type = {
        require(storageLevel != StorageLevel.NONE,
          "ALS is not designed to run without persisting intermediate RDDs.")
        this.intermediateRDDStorageLevel = storageLevel
        this
    }

它是该函数的装饰器吗?

1 个答案:

答案 0 :(得分:-2)

ALS => NewALS - 它是导入的重新定义。现在在代码中,您可以使用NewALS而不是ALS。如果您使用的是具有相同名称但来自不同包的类,则此类构造可能很有用。 ---- by @baju

@ - (在提供的示例中)用于带注释的标记。 @DeveloperApi - 表示使用注释标记函数。如果转到org.apache.spark.annotation.DeveloperApi,您将找到此批注的定义。 ---- by @baju