在/core/src/main/scala/org/apache/spark/SparkContext.scala的spark文件中,有以下内容
implicit def rddToPairRDDFunctions[K, V](rdd: RDD[(K, V)])
(implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null) = {
new PairRDDFunctions(rdd)
}
我认为RDD [(K,V)]是rdd的paraemter的类型。但是,我们如何定义类似RDD [(K,V)]的类型? 以下内容无法编译
abstract class RDD[(K, V)]
但以下可能。
abstract class RDD[K, V]
那是什么RDD [(K,V)]
答案 0 :(得分:10)
答案 1 :(得分:4)
(K, V)
表示Tuple2[K, V]
,因此rdd: RDD[(K, V)]
表示rdd: RDD[Tuple2[K, V]]
。类型RDD
应该有一个类型参数。
class RDD[T]
new RDD[(Int, String)] // new RDD[Tuple2[Int, String]]