【发布时间】:2017-03-27 02:28:35
【问题描述】:
spark 中Pair RDD 的reduceByKey 函数具有以下定义:
def reduceByKey(func: (V, V) => V): RDD[(K, V)]
我了解reduceByKey 采用参数函数将其应用于键的值。我想了解的是如何阅读这个定义,其中函数将 2 个值作为输入,即(V, V) => V。不应该是V => V,就像mapValues 函数一样,该函数应用于值V 以产生U,它是相同或不同类型的值:
def mapValues[U](f: (V) ⇒ U): RDD[(K, U)]
这是因为reduceByKey 一次应用于所有值(对于同一个键),而mapValues 一次应用于每个值(与键无关)?在这种情况下应该它被定义为类似(V1, V2) => V
【问题讨论】:
标签: scala apache-spark