Scala和Spark中乱七八糟的符号

标签:#scala##spark# 时间:2018/09/12 11:28:06 作者:小木

1、$()
这个是spark中定义的符号,表示getOrDefault,意思是如果这个值有,则获取这个值,否则使用默认值。它是定义在Params包中的

protected final def $[T](param: Param[T]): T = getOrDefault(param)

2、A to B by C语法
这是scala集合的语法,表示从A到B,以C为间隔的一个集合,例如如下输出结果

scala> 1 to 10 by 2
res0: scala.collection.immutable.Range = Range(1, 3, 5, 7, 9)

3、A to B语法
是不包含B的闭区间

scala> 1 to 10
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

4、A until B语法
不包含B的开区间

scala> 1 until 10
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

5、with关键词
这是Scala中符合类型使用的关键词

https://databricks.com/blog/2016/05/19/approximate-algorithms-in-apache-spark-hyperloglog-and-quantiles.html

6、=>符号
Scala中的=>符号可以看做是创建函数实例的语法糖。例如:A => T,A,B => T表示一个函数的输入参数类型是“A”,“A,B”,返回值类型是T。

欢迎大家关注DataLearner官方微信,接受最新的AI技术推送