Foro Formación Hadoop

 
 
Imagen de carlos ortiz
Ejercicio trabajando con particiones
de carlos ortiz - sábado, 25 de marzo de 2017, 11:51
 

Buenos días estoy realizando el curso de Apache Spark.

En el ejercicio sobre particiones, no entiendo bien como se plantea la solución trabajando desde la Shell.

yo he tratado de realizar la tarea pero según los métodos de las anteriores clases, pero sobre el código, o me lo llevo a eclipse o no lo veo.

Muchas gracias de antemano.

 
Imagen de Fernando Agudo
Re: Ejercicio trabajando con particiones
de Fernando Agudo - sábado, 25 de marzo de 2017, 14:50
 

Hola Carlos,

En el ejercicio se pide procesar los ficheros en formato xml que tenemos almacenados para poder extraer independiente cada uno de los "tag" de dispositivos que hemos comprado. 

Al tratarse de un fichero xml que está compuesto de varias líneas, si utilizáramos el método map tradicional (no el mapPartitions como se indica en las soluciones) estaríamos procesando línea a línea, por lo que no podríamos ver como un "TODO" el fichero xml. 

Al utilizar el método mapPartitions, cada fichero XML COMPLETO se pasa a la función map, para ser procesado por las funciones de procesamiento específico para XML que indicamos en las soluciones (al realizar la carga de los ficheros (sc.textFile) cada fichero pasa a ser una partición independiente en nuestro RDD). Con dichas funciones seremos capaces de tratar el fichero XML en conjunto y extraer los dispositivos para su posterior procesamiento (si utilizamos el método map, no se podría tratar un XML como tal, si no que estaríamos tratando un fichero de texto "clásico" línea a línea).

Después de utilizar la función mapPartitions ya nos devuelve cada uno de los dispositivos en un único registro/línea por lo que ya podemos tratar ese RDD con la función map para extraer lo que necesitamos en el ejercicio.

Un saludo.

 

Imagen de carlos ortiz
Re: Ejercicio trabajando con particiones
de carlos ortiz - domingo, 2 de abril de 2017, 22:22
 

Muchísimas gracias!

Entendido

 

Un saludo.