java - tutorial - mapreduce mongodb
ConfiguraciĆ³n de JobConf v/s para Hadoop 1.0.4 (1)
Hola, soy nuevo en Hadoop y es FileSystem. Vi dos ejemplos diferentes de WordCount usando JobConf
y Configuration
. ¿Cuál es la diferencia en ellos?
Estudié que JobConf
era parte del antiguo paquete org.apache.hadoop.mapred
(que se desaprobó en 0.20.x) pero Configuration forma parte del nuevo paquete org.apache.hadoop.mapreduce
. Pero ahora en v1.0.4 no está en desuso.
Actualmente tenemos dos formas de ejecutar trabajos de reducción de mapas en Java, una es mediante el uso de clases (extendidas) en el paquete org.apache.hadoop.mapreduce
y otra mediante la implementación de clases en el paquete org.apache.hadoop.mapred
.
Quiero saber:
¿Cuál es la diferencia entre la estructura del paquete
mapred
ymapreduce
y por quémapred
está en desuso?¿Qué enfoque es mejor usar para v1.0.4 y por qué?
JobConf
oConfiguration
?¿Cuál es mejor para v1.0.4?
mapred
omapreduce
?
Si miras en la página de lanzamientos , puedes ver que 1.0.4 corresponde a algo alrededor de 0.20.20x
Para dar un contexto, esto es lo que se estaba discutiendo en la lista de correo :
The "old" MapReduce API in org.apache.hadoop.mapred was deprecated in the 0.20
release series when the "new" (Context Objects) MapReduce API was added in
org.apache.hadoop.mapreduce. Unfortunately, the new API was not complete in 0.20
and most users stayed with the old API. This has led to the confusing situation
where the old API is generally recommended, even though it is deprecated.
Como puede ver, es principalmente una cuestión de compatibilidad retro.
Entonces, la conclusión es que, si está comenzando su aplicación ahora con la mapreduce
1.0.4, debería usar mapreduce
y no mapred
ya que es la mapred
preferida ahora, pero aún puede usar el mapred
antiguo si tiene aplicaciones heredadas. Lo que implica que deberías usar Configuration
.
En cuanto a la diferencia entre mapred
y mapreduce
, como se explica en el extracto anterior, proviene principalmente de la introducción de objetos Context
, pero hay un montón de otros cambios y nuevas clases que no están disponibles en el antiguo mapred
.