UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav
UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav
UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MapReduce 23<br />
especificamente para este programa. En el código 2.6 se mantienen las configuraciones<br />
por defecto. Posteriormente, se crea un objeto de la clase Job que permite configurar<br />
un trabajo mapreduce. Algunas de las configuraciones que se realizan en un trabajo<br />
mapreduce son: la especificación de las clases que contienen las funciones map y<br />
reduce; el tipo de datos de la clave y el valor que emite la función map; los tipos<br />
de los archivos de entrada y salida; los directorios de entrada y salida; entre otras<br />
configuraciones.<br />
Una vez que el trabajo mapreduce ha sido configurado se envía a ejecutar<br />
al ambiente MapReduce. Existen dos maneras de ejecutar el trabajo mapreduce:<br />
esperando hasta que finalice, o enviarlo a ejecución y continuar con las siguientes<br />
instruciones. Para esperar hasta que el trabajo mapreduce finalice se utiliza el método<br />
waitForCompletion con el parámetro en True. Para ejecutar el trabajo mapreduce sin<br />
esperar su finalización, se utiliza el método submit.<br />
Aunque en este ejemplo no se observa, se pueden crear otros trabajos mapreduce<br />
creando un nuevo objeto de la clase Job. Así mismo, se pueden crear otras clases<br />
que contengan otras funciones map y reduce que esten relacionadas con otros trabajos<br />
mapreduce, con esto se logra ejecutar una serie de trabajos mapreduce de manera<br />
secuencial (si se utiliza el método waitForCompletion) o paralela (si se utiliza el<br />
método submit).<br />
La clase que contiene a la función map del “programa de cuenta” se muestra<br />
en el código 2.7. Observe que la clase implementa la Interfaz Mapper. Una interfaz<br />
en Java contiene la declaración de los métodos sin especificar su implementación.<br />
La implementación de dichos métodos se realiza en la clase que implementa dicha<br />
interfaz. Por tal motivo, al implementar la Interfaz Mapper se debe de implementar<br />
la función map, esta función recibe tres parámetros que son: una clave, un valor y un<br />
contexto. El contexto permite configurar los pares < clave, valor > que se emiten.<br />
La función map se ejecuta de forma iterativa por cada línea de cada archivo de<br />
texto recibiendo como clave el desplazamiento dentro del archivo de entrada y como<br />
valor la línea del archivo. Por cada línea de un archivo de entrada, la función map<br />
<strong>Cinvestav</strong> Departamento de Computación