rga*_*ber 3 scala apache-spark
in spark 的reduceByKey函数Pair RDD具有以下定义:
def reduceByKey(func: (V, V) => V): RDD[(K, V)]
Run Code Online (Sandbox Code Playgroud)
我理解reduceByKey采用参数函数将其应用于键的值.我想要了解的是如何阅读这个定义,其中函数将2个值作为输入,即(V, V) => V.不应该是V => V,就像mapValues函数在值V上应用函数来生成U,它是相同或不同类型的值:
def mapValues[U](f: (V) ? U): RDD[(K, U)]
Run Code Online (Sandbox Code Playgroud)
这是因为reduceByKey同时应用于所有值(对于相同的键),并且一次mapValues一个地应用于每个值(不管键),在这种情况下不应该被定义为类似(V1, V2) => V