SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Hadoop – Pig And Map-
Reduce
1 Comprender el problema actual y las
soluciones big data
2
Conocer la tecnología de
map/reduce y poder entender su
funcionamiento
3 Capacidad de instalación de Hadoop en
local y testeo sobre un WordCount
4 Capacidad de instalación de Pig en
local y testeo.
Objetivos
1 Big Data – Un Problema
2 El Map Reduce como solución
3 Hadoop
4 Simplificación con Pig
Big Data – Un problema
1. Internet es enorme:
2. 20+B de páginas * 20KB/datos  400TBytes
3. Un ordenador lee alrededor de 30/35MB/seg
1. 4 meses para leer la web
2. De 400 discos duros para almacenarla
4. Mucha más complicación para hacer algo con
esos datos.
“
1.1 El problema
• Paralelizamos el problema
• El mismo problema con 1000 maquinas  < 3
horas
• pero…
• Compleja programación
• Comunicación entre maquinas
• Fallo de alguna maquina
• Optimización
• etc
“
1.2 La ventaja?
1.3 Solución
El Map Reduce como solución
2.1 Map Reduce
Objetivo : Cuantos Tweets tiene twitter por cada Usuario?
2.1 Map Reduce
Input : Clave Fila / Valor  Información de un tweet
2.1 Map Reduce
Map : Clave de salida : user_id, valor  1
2.1 Map Reduce
Ordenamos por user_id
2.1 Map Reduce
Reduce : Por cada user_id , sumamos el value del map (1)
2.1 Map Reduce
Output : user_id , tweet_count
2.1 Map Reduce
Contra mas maquinas añadamos al cluster, mas rápido el
procesamiento de la información
 Análisis típicamente en Java
 Los prototipos requieren de compilación
 Código complejo
 Alta probabilidad de error
“
2.2 Problemas
 Lenguaje de alto nivel
 Más fácil que el SQL?
 Procesa la información paso a paso
2.3 Pig entra en acción
2.3 ¿Por qué Pig?
Porqué somos capaces de entender el siguiente script :P
Hadoop
1 Arquitectura
2 Word Count - Explicación
3 Instalación
4 Ejecución Word Count
3.1 Arquitectura de Hadoop
3.2 WordCount – Explicación
3.3 Instalación – Pre - requisitos
Requisitos : Java JDK :
1. sudo add-apt-repository ppa:webupd8team/java
2. sudo apt-get update
3. sudo apt-get install oracle-java7-installer
4. java –version
Un usuario para hadoop
1. Sudo addgroup hadoop
2. Sudo adduser –ingroup hadoop hduser ( password )
Configuración del ssh
1. su – hduser
2. ssh-keygen –t rsa –P “”
3. (pulsar enter a todo hasta generar la imagen de la
clave rsa)
4. cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
5. ssh localhost  yes  exit
Desactivando Ip V6
1. sudo gedit /etc/sysctl.conf
1. net.ipv6.conf.all.disable_ipv6 = 1
2. net.ipv6.conf.default.disable_ipv6 = 1
3. net.ipv6.conf.lo.disable_ipv6 = 1
3.3 Instalación – Hadoop
1. “Restart Computer”
2. cat /proc/sys/net/ipv6/conf/all/disable_ipv6
3. exit
Hadoop:
• Download:
http://ftp.cixug.es/apache/hadoop/core/stable1/hadoop-
1.2.1.tar.gz
• cd PATH_DOWNLOADED sudo tar –zxvf hadoop-1.2.1.tar.gz
• mv hadoop-1.2.1 hadoop
• sudo cp –r hadoop /usr/local/
• cd /usr/local/hadoop && sudo chown -R hduser:hadoop
hadoop
Update Profile :
• sudo gedit ~/.bashrc
Añadir lo siguiente al final del fichero:
• export HADOOP_HOME=/usr/local/hadoop
• export JAVA_HOME=/usr/lib/jvm/java-7-oracle
• unalias fs &> /dev/null alias fs="hadoop fs" unalias
hls &> /dev/null alias hls="fs -ls"
3.3 Instalación – Hadoop basics
• lzohead () { hadoop fs -cat $1 | lzop -dc | head -1000
| less }
• export PATH=$PATH:$HADOOP_HOME/bin
Configuración:
• sudo gedit /usr/local/hadoop/conf/hadoop-env.sh
• Cambiar el export de java home por el siguiente:
• export JAVA_HOME=/usr/lib/jvm/java-7-oracle
• sudo mkdir -p /app/hadoop/tmp
• sudo chown hduser:hadoop /app/hadoop/tmp
• sudo chmod 750 /app/hadoop/tmp
3.3 Instalación – Hadoop XML Files – core-
site.xml
 sudo gedit /usr/local/hadoop/conf/core-site.xml
 Entre los tags de <configuration> </configuration>
añadir
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>
A base for other temporary directories.
</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>
The name of the default file system. A URI whose scheme and authority determine
the FileSystem implementation. The uri's scheme determines the config
property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's
authority is used to determine the host, port, etc. for a filesystem.
</description>
</property>
3.3 Instalación – Hadoop XML Files – mapred-
site.xml
 sudo gedit /usr/local/hadoop/conf/mapred-site.xml
 Entre los tags de <configuration> </configuration>
añadir
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce
job tracker runs at. If "local", then jobs are run
in-process as a single map and reduce task.
</description>
</property>
3.3 Instalación – Hadoop XML Files –
hdfs.site.xml
 sudo gedit /usr/local/hadoop/conf/mapred-site.xml
 Entre los tags de <configuration> </configuration>
añadir
<property>
<name>dfs.replication</name>
<value>1</value>
<description>
Default block replication. The actual
number of replications can be specified when the
file is created. The default is used if
replication is not specified in create time.
</description>
</property>
3.3 Iniciando Hadoop
 su – hduser
 cd /usr/local/hadoop/bin
 ./hadoop namenode -format
 ./start-all.sh
 jps
 ./stop-all.sh  para parar el cluster
3.4 Ejecución de un Map/Reduce
Descargar los siguientes e-books en formato texto-simple (UTF-8):
http://www.gutenberg.org/ebooks/20417
http://www.gutenberg.org/ebooks/5000
http://www.gutenberg.org/ebooks/4300
 Guardar los archivos en un directorio local por ejemplo /tmp/libros
 mkdir /tmp/libros
 sudo cp [Nombre_Libro_Descargado] /tmp/libros/
 ls –al /tmp/libros/  Comprobamos que estan todos
Ahora vamos a copiar los libros al sistema de ficheros de hadoop HDFS para
procesarlos
 sudo cd /usr/local/hadoop/bin
 Si no estamos en hduser  su – hduser
 ./hadoop dfs –copyFromLocal /tmp/libros/ /user/hduser/libros
 ./hadoop dfs –ls /user/hduser/
Run The Map Reduce Job
 ./hadoop jar ../hadoop*examples*.jar wordcount /user/hduser/libros
/user/hduser/output-libros
 ./hadoop dfs –ls /user/hduser/output-libros
 ./hadoop dfs –cat /user/hduser/output-libros/part-r-00000
Pig
1 Instalación
2 Word Count en Pig
4.1 Instalación
 wget http://apache.cs.utah.edu/pig/pig-0.11.1/pig-
0.11.1.tar.gz
 tar -xvf pig-0.11.1.tar.gz
 sudo mv pig-0.11.1 /usr/lib/pig
 sudo gedit ~/.bashrc
 Añadir :
 export PIG_HOME=/usr/lib/pig
 export PATH=$PATH:$PIG_HOME/bin
 sudo –s
 pig –version
 pig –x local
 quit
4.1 WordCount Pig
 wget http://www.gutenberg.org/ebooks/20417
 mv [Nombre Descarga] input.txt
 sudo gedit wordcount.pig
 A = load './input.txt';
B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;
C = group B by word;
D = foreach C generate COUNT(B), group;
store D into './wordcount';
 pig –x local wordcount.pig
 cat wordcount/part-r-00000
http://research.incubio.com/
Cristian Vitales
Research Engineer
Gracias

Mais conteúdo relacionado

Semelhante a Hadoop And Pig And MapReduce (20)

Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Taller girona
Taller gironaTaller girona
Taller girona
 
GOsa+samba+ldap
GOsa+samba+ldapGOsa+samba+ldap
GOsa+samba+ldap
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04
 
servidor dhcp en ubuntu 12
servidor dhcp en ubuntu 12servidor dhcp en ubuntu 12
servidor dhcp en ubuntu 12
 
Anexojl
AnexojlAnexojl
Anexojl
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
 
Presentacion
PresentacionPresentacion
Presentacion
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Tarea 5 sistemas operativos ii
Tarea 5 sistemas operativos iiTarea 5 sistemas operativos ii
Tarea 5 sistemas operativos ii
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Dhcp+ldap+gosa
Dhcp+ldap+gosaDhcp+ldap+gosa
Dhcp+ldap+gosa
 
Distribucion_aplicaciones
Distribucion_aplicacionesDistribucion_aplicaciones
Distribucion_aplicaciones
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 

Último

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxChristopherOlave2
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 

Último (20)

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptx
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 

Hadoop And Pig And MapReduce

  • 1. Hadoop – Pig And Map- Reduce
  • 2. 1 Comprender el problema actual y las soluciones big data 2 Conocer la tecnología de map/reduce y poder entender su funcionamiento 3 Capacidad de instalación de Hadoop en local y testeo sobre un WordCount 4 Capacidad de instalación de Pig en local y testeo. Objetivos
  • 3. 1 Big Data – Un Problema 2 El Map Reduce como solución 3 Hadoop 4 Simplificación con Pig
  • 4. Big Data – Un problema
  • 5. 1. Internet es enorme: 2. 20+B de páginas * 20KB/datos  400TBytes 3. Un ordenador lee alrededor de 30/35MB/seg 1. 4 meses para leer la web 2. De 400 discos duros para almacenarla 4. Mucha más complicación para hacer algo con esos datos. “ 1.1 El problema
  • 6. • Paralelizamos el problema • El mismo problema con 1000 maquinas  < 3 horas • pero… • Compleja programación • Comunicación entre maquinas • Fallo de alguna maquina • Optimización • etc “ 1.2 La ventaja?
  • 8. El Map Reduce como solución
  • 9. 2.1 Map Reduce Objetivo : Cuantos Tweets tiene twitter por cada Usuario?
  • 10. 2.1 Map Reduce Input : Clave Fila / Valor  Información de un tweet
  • 11. 2.1 Map Reduce Map : Clave de salida : user_id, valor  1
  • 13. 2.1 Map Reduce Reduce : Por cada user_id , sumamos el value del map (1)
  • 14. 2.1 Map Reduce Output : user_id , tweet_count
  • 15. 2.1 Map Reduce Contra mas maquinas añadamos al cluster, mas rápido el procesamiento de la información
  • 16.  Análisis típicamente en Java  Los prototipos requieren de compilación  Código complejo  Alta probabilidad de error “ 2.2 Problemas
  • 17.  Lenguaje de alto nivel  Más fácil que el SQL?  Procesa la información paso a paso 2.3 Pig entra en acción
  • 18. 2.3 ¿Por qué Pig? Porqué somos capaces de entender el siguiente script :P
  • 20. 1 Arquitectura 2 Word Count - Explicación 3 Instalación 4 Ejecución Word Count
  • 22. 3.2 WordCount – Explicación
  • 23. 3.3 Instalación – Pre - requisitos Requisitos : Java JDK : 1. sudo add-apt-repository ppa:webupd8team/java 2. sudo apt-get update 3. sudo apt-get install oracle-java7-installer 4. java –version Un usuario para hadoop 1. Sudo addgroup hadoop 2. Sudo adduser –ingroup hadoop hduser ( password ) Configuración del ssh 1. su – hduser 2. ssh-keygen –t rsa –P “” 3. (pulsar enter a todo hasta generar la imagen de la clave rsa) 4. cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys 5. ssh localhost  yes  exit Desactivando Ip V6 1. sudo gedit /etc/sysctl.conf 1. net.ipv6.conf.all.disable_ipv6 = 1 2. net.ipv6.conf.default.disable_ipv6 = 1 3. net.ipv6.conf.lo.disable_ipv6 = 1
  • 24. 3.3 Instalación – Hadoop 1. “Restart Computer” 2. cat /proc/sys/net/ipv6/conf/all/disable_ipv6 3. exit Hadoop: • Download: http://ftp.cixug.es/apache/hadoop/core/stable1/hadoop- 1.2.1.tar.gz • cd PATH_DOWNLOADED sudo tar –zxvf hadoop-1.2.1.tar.gz • mv hadoop-1.2.1 hadoop • sudo cp –r hadoop /usr/local/ • cd /usr/local/hadoop && sudo chown -R hduser:hadoop hadoop Update Profile : • sudo gedit ~/.bashrc Añadir lo siguiente al final del fichero: • export HADOOP_HOME=/usr/local/hadoop • export JAVA_HOME=/usr/lib/jvm/java-7-oracle • unalias fs &> /dev/null alias fs="hadoop fs" unalias hls &> /dev/null alias hls="fs -ls"
  • 25. 3.3 Instalación – Hadoop basics • lzohead () { hadoop fs -cat $1 | lzop -dc | head -1000 | less } • export PATH=$PATH:$HADOOP_HOME/bin Configuración: • sudo gedit /usr/local/hadoop/conf/hadoop-env.sh • Cambiar el export de java home por el siguiente: • export JAVA_HOME=/usr/lib/jvm/java-7-oracle • sudo mkdir -p /app/hadoop/tmp • sudo chown hduser:hadoop /app/hadoop/tmp • sudo chmod 750 /app/hadoop/tmp
  • 26. 3.3 Instalación – Hadoop XML Files – core- site.xml  sudo gedit /usr/local/hadoop/conf/core-site.xml  Entre los tags de <configuration> </configuration> añadir <property> <name>hadoop.tmp.dir</name> <value>/app/hadoop/tmp</value> <description> A base for other temporary directories. </description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> <description> The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem. </description> </property>
  • 27. 3.3 Instalación – Hadoop XML Files – mapred- site.xml  sudo gedit /usr/local/hadoop/conf/mapred-site.xml  Entre los tags de <configuration> </configuration> añadir <property> <name>mapred.job.tracker</name> <value>localhost:54311</value> <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task. </description> </property>
  • 28. 3.3 Instalación – Hadoop XML Files – hdfs.site.xml  sudo gedit /usr/local/hadoop/conf/mapred-site.xml  Entre los tags de <configuration> </configuration> añadir <property> <name>dfs.replication</name> <value>1</value> <description> Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time. </description> </property>
  • 29. 3.3 Iniciando Hadoop  su – hduser  cd /usr/local/hadoop/bin  ./hadoop namenode -format  ./start-all.sh  jps  ./stop-all.sh  para parar el cluster
  • 30. 3.4 Ejecución de un Map/Reduce Descargar los siguientes e-books en formato texto-simple (UTF-8): http://www.gutenberg.org/ebooks/20417 http://www.gutenberg.org/ebooks/5000 http://www.gutenberg.org/ebooks/4300  Guardar los archivos en un directorio local por ejemplo /tmp/libros  mkdir /tmp/libros  sudo cp [Nombre_Libro_Descargado] /tmp/libros/  ls –al /tmp/libros/  Comprobamos que estan todos Ahora vamos a copiar los libros al sistema de ficheros de hadoop HDFS para procesarlos  sudo cd /usr/local/hadoop/bin  Si no estamos en hduser  su – hduser  ./hadoop dfs –copyFromLocal /tmp/libros/ /user/hduser/libros  ./hadoop dfs –ls /user/hduser/ Run The Map Reduce Job  ./hadoop jar ../hadoop*examples*.jar wordcount /user/hduser/libros /user/hduser/output-libros  ./hadoop dfs –ls /user/hduser/output-libros  ./hadoop dfs –cat /user/hduser/output-libros/part-r-00000
  • 31. Pig
  • 32. 1 Instalación 2 Word Count en Pig
  • 33. 4.1 Instalación  wget http://apache.cs.utah.edu/pig/pig-0.11.1/pig- 0.11.1.tar.gz  tar -xvf pig-0.11.1.tar.gz  sudo mv pig-0.11.1 /usr/lib/pig  sudo gedit ~/.bashrc  Añadir :  export PIG_HOME=/usr/lib/pig  export PATH=$PATH:$PIG_HOME/bin  sudo –s  pig –version  pig –x local  quit
  • 34. 4.1 WordCount Pig  wget http://www.gutenberg.org/ebooks/20417  mv [Nombre Descarga] input.txt  sudo gedit wordcount.pig  A = load './input.txt'; B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word; C = group B by word; D = foreach C generate COUNT(B), group; store D into './wordcount';  pig –x local wordcount.pig  cat wordcount/part-r-00000