一段scala代码读不懂。。。

热爱Coding 2015-03-02 10:12:07
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
...全文
388 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27627173 2015-04-22
  • 打赏
  • 举报
回复
这里的 (context, pid, iter) => iter.map(cleanF)是个匿名函数, 作为一个类参数传入MapPartitionsRDD(也就是说在这个地方当前不会运行), (context, pid, iter)是该匿名函数的参数列表. context, pid, iter 的实际值是在MapPartitionsRDD.compute方法中调用该匿名函数时传入的.

1,261

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧