Spark 的 RDD 中的两个groupBy
方法声明为:
def groupBy[K](f: T => K)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])]
def groupBy[K](f: T => K, numPartitions: Int)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])]
我将函数 f 定义为:
def f(x: Int): Int = x % 2
我可以直接传给f
第一个groupBy
as rdd.groupBy(f)
。
为什么我不能直接传到f
第二个groupBy
as rdd.groupBy(f, 10)
?我必须使用rdd.groupBy(f(_), 10)
or rdd.groupBy(x => f(x), 10)
。