Apache Spark: map vs mapPartitions?
¿Cuál es la diferencia entre unaRDD's map
ymapPartitions
¿método? Y lo haceflatMap
comportarse comomap
o comomapPartitions
? Gracias.
(Editar) es decir, cuál es la diferencia (ya sea semánticamente o en términos de ejecución) 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)
}
Y:
def map[A, B](rdd: RDD[A], fn: (A => B))
(implicit a: Manifest[A], b: Manifest[B]): RDD[B] = {
rdd.map(fn)
}