为了账号安全,请及时绑定邮箱和手机立即绑定

Apache Spark:map与mapPartitions?

Apache Spark:map与mapPartitions?

慕的地6264312 2019-11-22 11:15:27
RDD map和mapPartitions方法之间有什么区别?并且flatMap表现得像map还是喜欢mapPartitions?谢谢。(edit),即两者之间在语义上或执行上有什么区别  def map[A, B](rdd: RDD[A], fn: (A => B))               (implicit a: Manifest[A], b: Manifest[B]): RDD[B] = {    rdd.mapPartitions({ iter: Iterator[A] => for (i <- iter) yield fn(i) },      preservesPartitioning = true)  }和:  def map[A, B](rdd: RDD[A], fn: (A => B))               (implicit a: Manifest[A], b: Manifest[B]): RDD[B] = {    rdd.map(fn)  }
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

RDD的map和mapPartitions方法之间有什么区别?


方法映射通过应用函数将源RDD的每个元素转换为结果RDD的单个元素。mapPartitions将源RDD的每个分区转换为结果的多个元素(可能没有)。


flatMap的行为类似于map还是mapPartitions?


flatMap都不对单个元素(如map)工作,也不产生结果的多个元素(如mapPartitions)。


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 546 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信