spark 里的 scala 代码剖析

//声明 MapPartitionsRDD.scala 里面 

private[spark] class MapPartitionsRDD[U: ClassTag, T: ClassTag](
    prev: RDD[T],
    f: (TaskContext, Int, Iterator[T]) => Iterator[U],  // (TaskContext, partition index, iterator)
    preservesPartitioning: Boolean = false)
  extends RDD[U](prev) {




//初始化  RDD.scala 里面

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))
}







//第二个参数传入一个函数作参数 //Iterator[U]是返回值类型





你可能感兴趣的:(spark 里的 scala 代码剖析)