Apache Spark: map vs mapPartitions?
Qual é a diferença entre umRDD's map
emapPartitions
método? E fazflatMap
Comportar-se comomap
ou comomapPartitions
? Obrigado.
(editar) ou seja, qual é a diferença (semanticamente ou em termos de execução) entre
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)
}
E:
def map[A, B](rdd: RDD[A], fn: (A => B))
(implicit a: Manifest[A], b: Manifest[B]): RDD[B] = {
rdd.map(fn)
}