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)
}
守着一只汪