Ejemplo MapReduce Hadoop 2

Comandos para cargar los datos en hdfs:

# Cargar en el HDFS
# Primero renombre los archivos con nombre corto
# CW para Datos estadisticos de la CIA 1995
$ mv pg571.txt CW.txt

# El siguiente comando falla si el directorio existe
$ hadoop fs -mkdir /user/cloudera

# Ahora ponga el texto en el directorio
$ hadoop fs -put CW.txt /user/cloudera

# Creamos alias de los comandos de hadoop
$ alias hput="hadoop fs -put"
$ alias hcat="hadoop fs -cat"
$ alias hls="hadoop fs -ls"
$ alias hrmr="hadoop fs -rm -r"

$ gzip CW.txt

# El punto hace referencia al directorio home de Cloudera
# en hdfs, /user/cloudera

$ hput DS.txt.gz .

# Verificar los archivos que existen ahora
$ hls
Found 4 items
drwx------ - cloudera cloudera 0 2014-04-10 16:03 .staging
-rw-r--r-- 3 cloudera cloudera 3013212 2014-04-21 14:28 CW.txt
drwxr-xr-x - cloudera cloudera 0 2014-04-10 16:03 HF.out
-rw-r--r-- 3 cloudera cloudera 605499 2014-04-10 15:25 HF.txt

Las parte clave en el documento que vamos a utilizar son:

@Pais_XXX:Geography(agrupador pais)

Population: 57,366 (July 1995 est.)(Numero de habitantes)

Map references: Oceania(Agrupador por region)

recordemos que el documento a utilizar es el txt que podemos bajar de:

Ahora ya tenemos lo necesario para abrir el eclipse que viene en la maquina virtual
y empezar a crear nuestras clases

MaximaPoblacionMapper (clase map)
MaximaPoblacionReducer (clase reduce)
MaximaPoblacion (main)
Pais (util para guardar pais)