Upload
grupo-g-tec
View
80
Download
3
Embed Size (px)
Citation preview
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
– UsadoporYahoo!, Facebook, Twitter
Amazon, eBay…
– Implementa MapReduceen diferentes
arquitecturas tantoclústercomogrid
(Cloudcomputing)
http://hadoop.apache.org/
17MÁQUINA
Data Node
TaskTracker
MÁQUINA
Data Node
TaskTracker
MÁQUINA
Data Node
TaskTracker
JobTracker
18MÁQUINA
Data Node
TaskTracker
MÁQUINA
Data Node
TaskTracker
MÁQUINA
Data Node
TaskTracker
NameNode
20
24
Apache Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs.
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.
26
Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.
Los mensajes de Facebook se almacenan enHbase
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
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.
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
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
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
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