scala - Apache-Spark : What is map(_. _2) 的简写?

标签 scala apache-spark

我阅读了一个项目的源代码,发现:

val sampleMBR = inputMBR.map(_._2).sample

inputMBR 是一个元组。

函数map的定义是:

map[U classTag](f:T=>U):RDD[U]

看来 map(_._2)map(x => (x._2)) 的简写。

谁能告诉我这些速记规则?

最佳答案

_ 语法可能有点令人困惑。当 _ 单独使用时,它代表匿名函数中的一个参数。所以如果我们成对工作: map(_._2 + _._2) 将是 map(x, y => x._2 + y._2) 的简写。当 _ 用作函数名称(或值名称)的一部分时,它没有特殊含义。在本例中,x._2 返回元组的第二个元素(假设 x 是元组)。

关于scala - Apache-Spark : What is map(_. _2) 的简写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246440/

相关文章:

scala - Spark : Custom key compare method for reduceByKey

java - Play Framework - 尝试映射 Promise 时无法解析 ExecutionContext

scala - 新手OutOfMemory问题

java - 如何将 JSON 对象添加到 apache Spark 中的数据集/数据帧

斯卡拉 - Spark : How to union all dataframe in loop

java - 处理模板中的重复值

scala - 如何定义在运行时工作的联合类型?

apache-spark - Spark SQL 中的 Tungsten 编码?

apache-spark - Spark(v 2.3.2)数据帧正在以字符串类型读取 ORC 文件中的所有列。这是正常行为吗?

apache-spark - 如何仅从 Edge DataFrame 制作 GraphFrame