0
点赞
收藏
分享

微信扫一扫

spark 里的 scala 代码剖析

爪哇驿站 2022-07-27 阅读 64


//声明 MapPartitionsRDD.scala 里面
[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]是返回值类型

举报

相关推荐

0 条评论