[英]Spark Scala MLlib assignment syntax
我已经浏览了https://spark.apache.org/docs/latest/ml-statistics.html上的指南,并且注意到他们正在使用以下语法进行val分配:
val Row(coeff1: Matrix) = Correlation.corr(df, "features").head
有人可以详细说明这是什么意思吗? 似乎类似于Scala处理正则表达式组提取的方式...
它只不过是模式匹配 。 为了使其更明显,您将其重写为:
val coeff1 = Correlation.corr(df, "features").head match {
case Row(coeff1: Matrix) => coeff1
}
换句话说,它只是尝试匹配通过.head
调用返回的对象,并且在成功匹配后,它将创建对包含在返回的Row
的Matrix
对象的引用( coeff1
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.