MapReduce en Hadoop

1,998 views

Published on

Uso de MapReduce en Hadoop v2. Algoritmos MapReduce.

Published in: Software
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,998
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
84
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

MapReduce en Hadoop

  1. 1. MapReduce en Hadoop Tomás Fernández Pena Máster en Computación de Altas Prestaciones Universidade de Santiago de Compostela Computación en Sistemas Distribuidos Material bajo licencia Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) citius.usc.es
  2. 2. Java MapReduce en Hadoop Serialización y Entrada/Salida Tareas MapReduce Otros aspectos Alternativas a Java Índice 1 Java MapReduce en Hadoop 2 Serialización y Entrada/Salida Entrada/salida con ficheros de texto Compresión Entrada salida/binaria Serialización con Avro 3 Tareas MapReduce Algoritmos: encadenamiento, ordenación, fuentes múltiples Localización de dependencias Contadores Ejemplo avanzado 4 Otros aspectos 5 Alternativas a Java MapReduce en Hadoop, CSD
  3. 3. Java MapReduce en Hadoop Serialización y Entrada/Salida Tareas MapReduce Otros aspectos Alternativas a Java Índice 1 Java MapReduce en Hadoop 2 Serialización y Entrada/Salida Entrada/salida con ficheros de texto Compresión Entrada salida/binaria Serialización con Avro 3 Tareas MapReduce Algoritmos: encadenamiento, ordenación, fuentes múltiples Localización de dependencias Contadores Ejemplo avanzado 4 Otros aspectos 5 Alternativas a Java MapReduce en Hadoop, CSD
  4. 4. Java MapReduce en Hadoop Serialización y Entrada/Salida Tareas MapReduce Otros aspectos Alternativas a Java Java MapReduce en Hadoop Un programa MapReduce en Java debe definir 3 clases: 1. Una clase mapper 2. Una clase reducer 3. Una clase principal, con el método main Pueden crearse como tres clases públicas separadas como una sola, con el método main, y clases internas static para mapper y reducer MapReduce en Hadoop, CSD 1/58
  5. 5. Java MapReduce en Hadoop Serialización y Entrada/Salida Tareas MapReduce Otros aspectos Alternativas a Java Nueva y vieja API Los programas pueden usar la nueva API (recomendado) o la antigua Ambas APIs son incompatibles Utilizaremos siempre la API nueva Disponible desde Hadoop 0.20.0 Definida en el paquete org.apache.hadoop.mapreduce Algunas librerías presentes en la API vieja no han sido portadas API vieja (desaconsejada) Definida en el paquete org.apache.hadoop.mapred MapReduce en Hadoop, CSD 2/58
  6. 6. Java MapReduce en Hadoop Serialización y Entrada/Salida Tareas MapReduce Otros aspectos Alternativas a Java WordCount Mapper public class WordCountMapper extends Mapper<LongWritable , Text , Text , IntWritable> { @Override public void map( LongWritable key, Text value , Context ctxt ) throws IOException , InterruptedException { Matcher matcher = pat .matcher ( value . toString ( ) ) ; while (matcher . f ind ( ) ) { word. set (matcher .group( ) . toLowerCase( ) ) ; ctxt . write (word, one) ; } } private Text word = new Text ( ) ; private f inal stat ic IntWritable one = new IntWritable (1) ; private Pattern pat = Pattern . compile( " b[a

×