def map[U: ClassTag](f: T => U): RDD[U] = {
val cleanF = sc.clean(f)
new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.map(cleanF))
}RDD.scala里的这个方法里的context, pid, iter不知道从哪来的啊??https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala
val cleanF = sc.clean(f)
new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.map(cleanF))
}RDD.scala里的这个方法里的context, pid, iter不知道从哪来的啊??https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala
context, pid, iter 的实际值是在MapPartitionsRDD.compute方法中调用该匿名函数时传入的.