Foro Formación Hadoop
Número de reducers dinámico
Hola,
Pregunta chorra :-)
Acabo de revisar el vídeo de partitioners y reducers, y el ejemplo de los países (a cada país se le asigna un reducer). En este caso, el número de reducers a utilizar se sabe de antemano (en base al número de países, que también se sabe).
¿Existe alguna forma de que, en base a los datos de los ficheros y sin saber de antemano cuántas regiones/países existen, establecer un número de reducers dinámico en el driver, para luego gestionar los partitioners en base a los países que existan en dichos datos?
Por ejemplo, si sabemos que nuestros ficheros procesan ventas en países de Europa (imaginemos que hoy 20 pero mañana 30), pero no sabemos de antemano cuántos habrá en los ficheros, y queremos que cada país se procese en un reducer por país (20 hoy y 30 mañana).
Espero que lo haya explicado de forma correcta :-)
Saludos
Hola Alexandre,
El número de Reducers hay que definirlo si o si en el driver, por lo que para indicar un número dinámico de reducers, tendría que ser en base a alguna condición/comprobación que indiques en el driver.
Por ejemplo, tener un fichero/variable donde estén indicados los nombres de los países, el cual leeremos para contar el número de países y el resultado de este conteo será la variable asignada al número de reducers. Para este ejemplo, lo que si deberás hacer es ir modificando el fichero/variable de los países cada vez que elimines o añadas uno.
Espero haberte aclarado la duda.
Un saludo,
Social networks