spark1.2里的一小段scala代码看不懂

阅读 3.9k
2 个回答
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) {

  override def compute(split: Partition, context: TaskContext): Iterator[U] =
    f(context, split.index, firstParent[T].iterator(split, context))
}

方法的参数列表,传入一个参数为(TaskContext, Int, Iterator[T])返回为Iterator[U]的函数作为MapPartitionsRDD的构造函数的参数f,方法compute会调用这个方法。

这是参数列表……

最好能在IDE里打开源代码,点进declaration就知道了。看源代码用IDE方便呀~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进