gpt4 book ai didi

scala - Spark Scala了解reduceByKey(_ + _)

转载 作者:行者123 更新时间:2023-12-04 09:58:36 26 4
gpt4 key购买 nike

我无法理解scala中spark的第一个示例中的reduceByKey(_ + _)

object WordCount {
def main(args: Array[String]): Unit = {
val inputPath = args(0)
val outputPath = args(1)
val sc = new SparkContext()
val lines = sc.textFile(inputPath)
val wordCounts = lines.flatMap {line => line.split(" ")}
.map(word => (word, 1))
.reduceByKey(_ + _) **I cant't understand this line**
wordCounts.saveAsTextFile(outputPath)
}
}

最佳答案

在将函数应用于两个参数后,Reduce需要两个元素,并产生第三个元素。

您显示的代码等效于以下代码

 reduceByKey((x,y)=> x + y)

与定义虚拟变量并编写lambda相比,Scala足够聪明,可以弄清楚您要实现的目标是在接收到的任何两个参数上应用 func(在这种情况下为sum),因此语法
 reduceByKey(_ + _) 

关于scala - Spark Scala了解reduceByKey(_ + _),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36965338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com