Foro Formación Hadoop

Apache Spark

 
Imagen de MIGUEL OROPEZA
Apache Spark
de MIGUEL OROPEZA - miércoles, 7 de marzo de 2018, 18:16
 

Hola.

Una pequeña duda, entiendo que la función mapPartitions solo se utiliza para tratar ficheros XML  o puede ser empleado en otros tipos de ficheros.?

 

Saludos

Imagen de Fabiola Carrasco
Re: Apache Spark
de Fabiola Carrasco - jueves, 8 de marzo de 2018, 10:07
 

Hola Miguel,

 

La función mapPartitions puede ser utilizada para cualquier tipo de fichero. Esta función lo que indica es que se va a procesar el RDD a nivel de partición.

En nuestro ejemplo son xml ya que es la manera de indicar que si tenemos ficheros xml que no llegan al tamaño del bloque, sabemos que este fichero va a corresponder con una única partición de nuestro RDD, por lo que vamos a procesarlo conjuntamente (si se se utilizara la función map, procesaríamos cada línea del xml por separado, por lo que no podríamos utilizar las funciones de lectura de xml). 

Conclusión (independientemente del formato de fichero que vayamos a procesar):

Función map(f) -> Aplica la función f a cada uno de los registros del RDD.

Función mapPartitions(f) -> Aplica la función f a cada una de las particiones del RDD.

Espero que esto te aclara un poco las dudas.

Un saludo,