Top Banner
Victoria López @victoriademates www.tecnologiaUCM.es Universidad Complutense de Madrid 3b
34

G te c sesion3b- mapreduce

Jul 17, 2015

Download

Technology

Grupo G-TeC
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: G te c sesion3b- mapreduce

Victoria López

@victoriademates

www.tecnologiaUCM.es

Universidad Complutense de Madrid

3b

Page 2: G te c sesion3b- mapreduce

2

3b

Page 3: G te c sesion3b- mapreduce

3

3b

Page 4: G te c sesion3b- mapreduce

4

• Creado por Google (2004)

– Modelo de programación paralela

– Concepto simple, inteligente, útil para múltiples aplicaciones

– Big datasets multi-node en multiprocessors

– Conjuntos de nodos: Clusters o Grids (programación distribuida)

– Capaz de procesar 20 PB en un día

– Es una variante del método Divide y Vencerás en Tecnología de la

Programación.

– No todos los problemas se pueden resolver con MapReduce, como

tampoco todos los problemas se pueden resolver con Divide y

Vencerás

Page 5: G te c sesion3b- mapreduce

5

Page 6: G te c sesion3b- mapreduce

6

Page 7: G te c sesion3b- mapreduce
Page 8: G te c sesion3b- mapreduce

8

Page 9: G te c sesion3b- mapreduce

9

Page 10: G te c sesion3b- mapreduce

– UsadoporYahoo!, Facebook, Twitter

Amazon, eBay…

– Implementa MapReduceen diferentes

arquitecturas tantoclústercomogrid

(Cloudcomputing)

http://hadoop.apache.org/

Page 11: G te c sesion3b- mapreduce

11

Page 12: G te c sesion3b- mapreduce

12

Page 13: G te c sesion3b- mapreduce

13MÁQUINA

HDFS

MapReduce

Apache Software Foundation

Page 14: G te c sesion3b- mapreduce

14

Page 15: G te c sesion3b- mapreduce

15MÁQUINA

Data Node

TaskTracker

MÁQUINA

HDFS

MapReduce

Page 16: G te c sesion3b- mapreduce

16MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

Page 17: G te c sesion3b- mapreduce

17MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

JobTracker

Page 18: G te c sesion3b- mapreduce

18MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

MÁQUINA

Data Node

TaskTracker

NameNode

Page 19: G te c sesion3b- mapreduce

19

Page 21: G te c sesion3b- mapreduce

21

Page 22: G te c sesion3b- mapreduce

22

Page 23: G te c sesion3b- mapreduce

23API conjunto de funciones de uso general para facilitar la comunicación

Page 24: G te c sesion3b- mapreduce

24

Apache Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs.

Page 25: G te c sesion3b- mapreduce

25

The Apache Hive ™ data warehouse software facilitates querying and managing large datasets residing in distributed storage. Hive provides a mechanism to project structure onto this data and query the data using a SQL-like language called HiveQL.

Page 26: G te c sesion3b- mapreduce

26

Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.

Los mensajes de Facebook se almacenan enHbase

Page 27: G te c sesion3b- mapreduce

27

Page 28: G te c sesion3b- mapreduce

Proyectos con Hadoop

Funcionamiento de Hadoop

https://www.youtube.com/watch?v=QOpxU9ni4bg#t=2203

Funcionamiento de HDFS

www.formhadoop.es/img/HDFS-comic.pdf

Funcionamiento de Hive

http://www.franciscojavierpulido.com/2013/11/hive-consultas-tipo-sql-sobre-hadoop.html

Page 29: G te c sesion3b- mapreduce

Proyectos con Spark

Framework de procesamiento en paralelo semejante a Hadoop.

Se incubó en AmpLabs como parte de la tesis doctoral de MateiZaharia, 2009 Berkeley (2014 en MIT).

Hoy en día es un ‘top level project’ de la Apache Software Fundation.

Databricks es la startup que surge de AmpLabs donde se sigue desarrollando Spark en explotación: da soporte y ofrece una pila de desarrollo para ejecución de Spark por parte de las empresas.

Page 30: G te c sesion3b- mapreduce

Proyectos con Spark

Palabras Clave de Spark

HDFS Se aligera mediante el uso de almacenamiento en memoria (In-Memory) con archivos RDD.

Archivos RDDs Permiten consultas tipo SQL en tiempos de ejecución muchísimo más rápidos. Este tipo de archivos fue presentado por Matei Zahariay varios colegas de Berkeley (Resilient Distributed Datasets: A Fault-TolerantAbstraction for In-Memory Cluster Computing, M. Zaharia et al.)

Se mantiene la convivencia de los sistemas y formatos de archivos y datos.

Map Reduce Módulo de ejecución con programación Funcional sobre los RDDs

Page 31: G te c sesion3b- mapreduce

Proyectos con Spark

Palabras Clave de Spark

Map Reduce Módulo de ejecución con programación Funcional sobre los RDDsRDD contiene las trnasformaciones que se van a realizar sobre los datos.

Datos inmutables

Paradigma de programación Funcional Recusiva vs. Imperativa

Evaluación perezosa característica de la programación funcional que permite ejecuciones rápidas In-Memory

Lambda-cálculo los parámetros pueden ser funciones, esto permite programar Map-Reduce de forma muy ágil

Page 32: G te c sesion3b- mapreduce

Proyectos con Spark

Ventajas de Spark

Mayor flexibilidad en la definición de transformaciones (nivel de programación)

Menor uso de almacenamiento en disco

Cálculos intermedios siempre a memoria y no a disco.

Aprovechamiento de la memoria

Tolerancia a fallos.Además permite simulaciones sobre nodos virtuales de forma local

Tracción de la comunidad: mucha gente y organizaciones están trabajando en mejorar y en popularizar Spark

Page 33: G te c sesion3b- mapreduce

Proyectos con Spark

Probablemente el Map Reduce de google esté basado en programación funcional

file = spark.textFile("hdfs://...")

file.flatMap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a+b)

Word count in Spark's Python API

Page 34: G te c sesion3b- mapreduce

Proyectos con Spark

Funcionamiento de Spark con Stratio explicado por Daniel Higuero en el segundo Spark Meetup de Madrid:

https://www.youtube.com/watch?v=0Ai9VuBGbpw&feature=youtu.be