Taller hadoop

  • Published on
    04-Jul-2015

  • View
    272

  • Download
    0

Embed Size (px)

DESCRIPTION

Pequea introduccin al taller prctico de Hadoop, para el curso Big Data Analytics 2014-10

Transcript

  • 1. MAPREDUCE CON HADOOPIntroduccin y ejemplo prctico de MapReduce con HadoopChristian Fernando Ariza Porras http://www.christian-ariza.net cf.ariza975@uniandes.edu.co @cronosnull

2. Las preguntas que responderemos hoy: Cules son los componentes de Hadoop? Cul es la principal diferencia entre Hadoop 1.x y 2.x? Cmo crear una aplicacin MapReduce en Java? Cules son los problemas ms frecuentes?Cmo evitarlos? 3. Componentes de HadoopImagen tomada de: http://hortonworks.com/hadoop/yarn/ 4. Hadoop 1.0 5. Hadoop 2.0Imagen tomada de: http://www.ibm.com/developerworks/library/bd-hadoopyarn/ 6. En el curso trabajaremos con Hadoop 1.1.2.21 7. Contador de palabrasPRIMERA APLICACIN MAPREDUCE 8. Contador de palabras Cuenta cuntas veces aparece cada palabra dentro de un texto. Entrada: Archivo(s) de texto. Salida: Archivo de texto, separado por tabulaciones, con parejas palabra -> cantidad 9. Diseo Map: Recibe una lnea de texto, la divide por palabras, cuenta cuntas veces aparece cada palabra y genera la salida, palabra -> cantidad, para esa lnea. Reduce: recibe una palabra y su conjunto de valores, los agrega y genera la salida palabra->cantidad. 10. Configuracin del proyectoLibreras de Hadoop + Dependencias 11. Map 12. Map Extiende la clase org.apache.hadoop.mapreduce.Mapper; Tipo de: Los tipos de datos de las entradas y las salidas deben implementar la interfaz Writable. 13. MapCada map recibe una pareja llave, valor y el contexto de la tarea 14. MapUsando el contexto escribe la salida como parejas llave, valor. 15. ReduceCada reduce recibe una llave, el conjunto de valores y el contexto de la tarea 16. ReduceY escribe la respuesta en forma de parejas llave, valor 17. CONFIGURACIN DEL TRABAJOObjetos de configuracin, jar, y nombre del Trabajo Mapper y tipos de datos de las salidas del maper. Reducer y tipos de datos de las llaves y los valores de salidaFormato y carpeta de entrada Formato y carpeta de salida Ejecutar el trabajo y esperar 18. Main 19. Hora de ejecutar el trabajo Conectarse a la mquina cliente Subir los datos al hdfs hadoop fs -put Ejecutar el jar en hadoop hadoop jar hadoop jar wordcount.jar uniandes.reuters.job.WordCounter input output Ver la salida: Descargarla usando get: hadoop fs -get Verla usando cat: hadoop fs -cat output/* | sort -k 2 -n 20. Problemas comunes Los tipos de datos no coinciden. Revisar el stacktrace, los tipos de datos de salida del mapper deben coincidir con los de entrada del reducer. Revisar la documentacin de los InputFormat. La versin de java no es soportada (Unsupported major.minor versin) Compilar usando una versin soportada por el jdk que est en el cluster (la misma instalada, una menor tambin puede funcionar.) La ejecucin en Hadoop es ms lenta que una solucin standalone. No todos los problemas deben resolverse con Hadoop. La carpeta de salida ya existe... 21. Preguntas? 22. Manos a la obra