В чем разница между map
RDD и методом mapPartitions
? И работает ли flatMap
как map
или как mapPartitions
? Благодарю.
(редактировать) то есть какая разница (семантически или с точки зрения исполнения) между
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)
}