Aula virtual apache_hadoop_v3 1
-
Upload
moises-martinez-mateu -
Category
Software
-
view
393 -
download
0
Transcript of Aula virtual apache_hadoop_v3 1
Introducción a Apache Spark
| 2
OBJETIVOS
Obtener una visión general de Apache Hadoop y su amplio y complejo ecosistema
Introducción a Apache Spark
| 4
CARACTERÍSTICAS - VOLUMEN
Capacidad de almacenar una gran cantidad de datos El volumen de datos se incrementa exponencialmente: (44x de 2009 a 2020)
Big Data
Introducción a Apache Spark
| 5
CARACTERÍSTICAS - VOLUMEN
Capacidad de almacenar una gran cantidad de datos El volumen de datos se incrementa exponencialmente: (44x de 2009 a 2020)
Big Data
Introducción a Apache Spark
| 6
CARACTERÍSTICAS - VARIEDAD
Capacidad de combinar datos en los diferentes formatos que se generan (textos, imágenes, vídeos, audios, logs, json, xml, pdf, bbdd, emails, etc.)
Big Data
Introducción a Apache Spark
| 7
CARACTERÍSTICAS - VARIEDAD
Capacidad de combinar datos en los diferentes formatos que se generan (textos, imágenes, vídeos, audios, logs, json, xml, pdf, bbdd, emails, etc.)
Big Data
Introducción a Apache Spark
| 8
CARACTERÍSTICAS - VARIEDAD
Capacidad de combinar datos en los diferentes formatos que se generan (textos, imágenes, vídeos, audios, logs, json, xml, pdf, bbdd, emails, etc.)
Big Data
http://www.slideshare.net/dellenterprise/maximizing-return-on-information
Introducción a Apache Spark
| 9
CARACTERÍSTICAS - VARIEDAD
Big Data
http://www.slideshare.net/franmod/tendencias-storage
Introducción a Apache Spark
| 10
CARACTERÍSTICAS - VELOCIDAD
Capacidad para poder capturar, almacenar y analizar los datos a la mayor velocidad posible
Big Data
Introducción a Apache Spark
| 11
CARACTERÍSTICAS - VERACIDAD
Capacidad para tratar con datos desfasados, inconsistentes, incompletos, inciertos o ambiguos
Big Data
http://www.tylervigen.com/spurious-correlations
Introducción a Apache Spark
| 14
SOLUCION TRADICIONAL La meta es tener una máquina cada vez más poderosa (memoria,
procesador, etc.)
Big Data
Introducción a Apache Spark
| 15
SOLUCION TRADICIONAL La meta es tener una máquina cada vez más poderosa (memoria,
procesador, etc.) Escalabilidad limitada Alto coste
Big Data
Introducción a Apache Spark
| 16
COMPUTACIÓN DISTRIBUIDA TRADICIONAL La meta es que muchas máquinas se puedan encargar de realizar un
solo proceso
Big Data
Introducción a Apache Spark
| 17
COMPUTACIÓN DISTRIBUIDA TRADICIONAL La meta es que muchas máquinas se puedan encargar de realizar un
solo proceso Hardware muy caro tolerante a fallos Programación compleja Escalabilidad limitada
Big Data
Introducción a Apache Spark
| 19
HISTORIA DE HADOOP
Hadoop y su ecosistema
2002 2003 2004 2005 2006 2007 2008 2009 2010
Dog Cutting y Mike Carafella empiezan a trabajar en Nutch
Google publica detalles sobre GFS y MapReduce
Doug Cutting añade DFS y MapReduce a Nutch
Yahoo! Contrata a Doug Hadoop se sale de Nutch
Facebook crea Hive – el soporte SQL para Hadoop
Ordenación más rápida de 1 TB 3:30 minutos sobre 910 nodos
Ordenación más rápida de 1 TB 62 segundos sobre 1460 nodos
Introducción a Apache Spark
| 20
¿QUÉ ES HADOOP?
Hadoop es un sistema para el almacenamiento y el procesamiento distribuido de datos a gran escala
Hadoop proporciona dos componentes:
Almacenamiento de datos: HDFS Procesamiento de datos: MapReduce
Hadoop y su ecosistema
Introducción a Apache Spark
| 21
HDFS
HDFS es el sistema de archivos distribuido de Hadoop que se encarga de almacenar los datos
Hadoop y su ecosistema
Introducción a Apache Spark
| 22
HDFS
HDFS es el sistema de archivos distribuido de Hadoop que se encarga de almacenar los datos
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Nodo servidor
Driver
Introducción a Apache Spark
| 23
HDFS
HDFS es el sistema de archivos distribuido de Hadoop que se encarga de almacenar los datos
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Datos.txt: B1, B2
Nodo servidor
Driver
Datos.txt
B1
B2
Introducción a Apache Spark
| 24
HDFS
HDFS es el sistema de archivos distribuido de Hadoop que se encarga de almacenar los datos
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Datos.txt: B1, B2 B1: Nodo 1 B2: Nodo 3
Nodo servidor
Driver
Datos.txt
B1
B2 B1 B2
Introducción a Apache Spark
| 25
HDFS
HDFS es el sistema de archivos distribuido de Hadoop que se encarga de almacenar los datos
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Datos.txt: B1, B2 B1: Nodo 1, Nodo 2 B2: Nodo 3, Nodo 4
Nodo servidor
Driver
Datos.txt
B1
B2 B1 B2 B1 B2
Introducción a Apache Spark
| 26
MAPREDUCE
MapReduce es el sistema que utiliza Hadoop para procesar los datos en un clúster
Hadoop y su ecosistema
Introducción a Apache Spark
| 27
MAPREDUCE - EJEMPLO
¿Cómo cuento el número de ocurrencias de cada palabra en un documento?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo Te gustan los perros?”
{Me: 4, llamo: 4, Lola: 1, Claudia: 1, Aimar: 1, Pilar: 1, …}
Introducción a Apache Spark
| 28
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una colección de claves / valores
Hadoop y su ecosistema
Colección Clave / Valor
Introducción a Apache Spark
| 29
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una colección de claves / valores
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros?”
{}
Introducción a Apache Spark
| 30
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una colección de claves / valores
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros?”
{Me: 1}
Introducción a Apache Spark
| 31
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una colección de claves / valores
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros?”
{Me: 1, llamo: 1}
Introducción a Apache Spark
| 32
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una hashtable
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros?”
{Me: 1, llamo: 1, Lola: 1}
Introducción a Apache Spark
| 33
MAPREDUCE - EJEMPLO
Primera aproximación: Uso de una hashtable
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros?”
{Me: 2, llamo: 1, Lola: 1}
Introducción a Apache Spark
| 34
MAPREDUCE - EJEMPLO
Pero .. ¿qué ocurre si el documento es realmente GRANDE?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros? ¿Y los caballos? A mí me gustan mucho los perros Sobre todos los caballitos de mar ¿Y a ti?”
{Me: 3, Llamo:3, Lola: 3
{Pilar:1, Me: 1, … }
{Y:1, … }
{Sobre: 1, … }
{Me: 5, Llamo:3, Lola: 3, Pilar: 1 …
Máquinas 1-4
Máquina 5
Introducción a Apache Spark
| 35
MAPREDUCE - EJEMPLO
Pero .. ¿qué ocurre si el documento es realmente GRANDE?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros? ¿Y los caballos? A mí me gustan mucho los perros Sobre todos los caballitos de mar ¿Y a ti?”
{Me: 3, Llamo:3, Lola: 3
{Pilar:1, Me: 1, … }
{Y:1, … }
{Sobre: 1, … }
{Me: 5, Llamo:3, Lola: 3, Pilar: 1 …
Máquinas 1-4
Máquina 5
Los resultados tienen que caber en una sola máquina
Introducción a Apache Spark
| 36
MAPREDUCE - EJEMPLO
Pero .. ¿qué ocurre si el documento es realmente GRANDE?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros? ¿Y los caballitos? A mí me gustan mucho los perros Sobre todos los caballitos de mar ¿Y a ti?”
{Me: 3, Llamo:3, Lola: 3
{Pilar:1, Me: 1, … }
{Y:1, … }
{Sobre: 1, … }
{A : 2, Aimar : 1, Claudia: 1}
Máquinas 1-4 Máquina 1-4
Introducción a Apache Spark
| 37
MAPREDUCE - EJEMPLO
Pero .. ¿qué ocurre si el documento es realmente GRANDE?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros? ¿Y los caballitos? A mí me gustan mucho los perros Sobre todos los caballitos de mar ¿Y a ti?”
{Me: 3, Llamo:3, Lola: 3
{Pilar:1, Me: 1, … }
{Y:1, … }
{Sobre: 1, … }
{A : 2, Aimar : 1, Claudia: 1}
{Pilar: 1, Sobre: 1, …}
{Lola: 1, Los: 4,…}
{mucho: 1, mi: 1, …}
Máquinas 1-4 Máquina 1-4
Introducción a Apache Spark
| 38
MAPREDUCE - EJEMPLO
Pero .. ¿qué ocurre si el documento es realmente GRANDE?
Hadoop y su ecosistema
“Me llamo Lola Me llamo Claudia Me llamo Aimar Pilar me llamo ¿Te gustan los perros? ¿Y los caballitos? A mí me gustan mucho los perros Sobre todos los caballitos de mar ¿Y a ti?”
{Me: 3, Llamo:3, Lola: 3
{Pilar:1, Me: 1, … }
{Y:1, … }
{Sobre: 1, … }
{A : 2, Aimar : 1, Claudia: 1}
{Pilar: 1, Sobre: 1, …}
{Lola: 1, Los: 4,…}
{mucho: 1, mi: 1, …}
Máquinas 1-4 Máquina 1-4
MAP REDUCE
Introducción a Apache Spark
| 40
MAPREDUCE
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Nodo servidor
Driver
B1
Map
B2
Map Red.
Introducción a Apache Spark
| 41
CARACTERÍSTICAS
Hadoop y su ecosistema
Característica Descripción
Automático Un trabajo se realiza completamente sin que sea necesaria una intervención manual
Transparente Las tareas asignadas a un nodo que falla son retomadas por otras tareas
Grácil Los fallos sólo representan una perdida proporcional en la capacidad de proceso
Recuperable Esta capacidad se recupera cuando el componente es reemplazado más tarde
Consistente El fallo no produce corrupción o resultados inválidos
Introducción a Apache Spark
| 42
HADOOP / BASE DE DATOS TRADICIONAL
Hadoop y su ecosistema
BD Tradicional Hadoop Tamaño Gigabytes Petabytes
Acceso Interactivo y Batch Batch
Actualización de la información
Escritura/Lectura (muchas veces)
Escritura - 1 vez / Lectura
Estructura Estática Dinámica
Integridad Alta (ACID) Baja
Escalado Vertical Horizontal
Tiempo de respuesta Prácticamente inmediato
Tiene latencia (proceso Batch)
Acceso a la información Partes de información Toda la información
Introducción a Apache Spark
| 43
AGENDA
Big Data Apache Hadoop Ecosistema de Hadoop Evolución
Framework de procesamiento distribuido
Sistema de ficheros distribuido de Hadoop
Introducción a Apache Spark
| 48
ECOSISTEMA DE HADOOP
Hadoop y su ecosistema
Framework de procesamiento distribuido
Sistema de ficheros distribuido de Hadoop
Querys SQL
ODBC
Introducción a Apache Spark
| 53
HBASE
Hadoop y su ecosistema
Framework de procesamiento distribuido
Sistema de ficheros distribuido de Hadoop
Introducción a Apache Spark
| 54
HBASE
Hadoop y su ecosistema
Framework de procesamiento distribuido
Sistema de ficheros distribuido de Hadoop
Base de datos NoSQL De tipo columnar
Introducción a Apache Spark
| 58
ZOOKEEPER
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Nodo servidor
Introducción a Apache Spark
| 59
ZOOKEEPER
Hadoop y su ecosistema
Nodo 1
Nodo 2
Nodo 3
Nodo 4
Nodo servidor Nodo servidor
ZooKeeper Servidor Servidor Servidor
Introducción a Apache Spark
| 60
ECOSISTEMA DE HADOOP
Hadoop y su ecosistema
https://hadoopecosystemtable.github.io/
Introducción a Apache Spark
| 63
EVOLUCIÓN DE HADOOP Hadoop y su ecosistema
Hadoop 1 - Proceso Batch - Un único motor de procesamiento
HDFS (Sistema de ficheros de Hadoop)
MapReduce (Gestor de Recursos del Clúster / Procesamiento de datos Batch)
Hadoop 2 con YARN - Proceso Batch
HDFS (Sistema de ficheros de Hadoop)
YARN (Gestor de Recursos del Clúster)
Introducción a Apache Spark
| 64
EVOLUCIÓN DE HADOOP Hadoop y su ecosistema
Hadoop 1 - Proceso Batch - Un único motor de procesamiento
HDFS (Sistema de ficheros de Hadoop)
MapReduce (Gestor de Recursos del Clúster / Procesamiento de datos Batch)
Hadoop 2 con YARN - Proceso Batch, Interactivo - Muchos motores
HDFS (Sistema de ficheros de Hadoop)
YARN (Gestor de Recursos del Clúster)
Introducción a Apache Spark
| 65
EVOLUCIÓN DE HADOOP Hadoop y su ecosistema
Hadoop 1 - Proceso Batch - Un único motor de procesamiento
HDFS (Sistema de ficheros de Hadoop)
MapReduce (Gestor de Recursos del Clúster / Procesamiento de datos Batch)
Hadoop 2 con YARN - Batch, Interactivo, Tiempo Real - Muchos motores
HDFS (Sistema de ficheros de Hadoop)
YARN (Gestor de Recursos del Clúster)
Introducción a Apache Spark
| 66
EVOLUCIÓN DE HADOOP Hadoop y su ecosistema
Hadoop 1 - Proceso Batch - Un único motor de procesamiento
HDFS (Sistema de ficheros de Hadoop)
MapReduce (Gestor de Recursos del Clúster / Procesamiento de datos Batch)
Hadoop 2 con YARN - Batch, Interactivo, Tiempo Real - Muchos motores
HDFS (Sistema de ficheros de Hadoop)
YARN (Gestor de Recursos del Clúster)
Muchas gracias
Centros de Competencia / Business Analytics Daniel Villanueva Jiménez [email protected] Avda. de Bruselas 35 28108 Alcobendas, Madrid España T +34 91 480 50 00 F +34 91 480 50 80 www.indracompany.com