Clase 03 Arquitecturas y Herramientas de Big Data
Clase 03 Arquitecturas y Herramientas de Big Data
Clase 03 Arquitecturas y Herramientas de Big Data
Big Data
Prof. M.Sc. Neptalí Menejes Palomino
Datos masivos…
¿Qué hacemos
con tantos datos?
Crecimiento explosivo
¡¡ZettaBytes!!
Zettabytes:
10^21 bytes
Unidades de información
● Kilobyte = 10^3 = 1.000
● Megabyte = 10^6 = 1.000.000
● Gigabyte = 10^9 = 1.000.000.000
● Terabyte = 10^12 = 1.000.000.000.000
● Petabyte = 10^15 = 1.000.000.000.000.000
● Exabyte = 10^18 = 1.000.000.000.000.000.000
● Zettabyte = 10^21
● Yottabyte = 10^24
¿Qué es Big Data?
● Big data es una colección de datos grande,
complejos, muy difícil de procesar a través
de herramientas de gestión y
procesamiento de datos tradicionales.
● “Big Data” son datos cuyo volumen,
diversidad y complejidad requieren nueva
arquitectura, técnicas, algoritmos y análisis
para gestionar y extraer valor y
conocimiento oculto en ellos ...
¿Qué es Big Data?
¡Tecnología
disponible y open
source ! ¿qué más
pedir?
Apache Hadoop
● La tecnología es open source y está al alcance de la mano de cualquier
organización.
● Creado por Doug Cutting (chairman of board of directors of the Apache
Software Foundation, 2010)
Apache Hadoop
Apache Hadoop
Consta de dos servicios principales:
● Almacenamiento: HDFS.
● Procesamiento: MapReduce.
● HDFS
○ Sistema de
almacenamiento
distribuido
● YARN
○ Administrador de recursos
del cluster
Arquitectura de HDFS
Arquitectura de YARN
● Muchas aplicaciones, una
sola plataforma
● Soporta acceso y
procesamiento multi-tenant
● Cada nodo procesa los
bloques locales
● Batch y real time
Apache Spark
● Entorno de trabajo (gestión de ejecución, API) genérico y rápido (hasta 100
veces más que Hadoop) para procesamiento de datos masivos
● Centrado en una estructura de datos distribuida denominada “Resilient
Distributed Dataset” (RDD)
● Desarrollado en Scala. Interfaces en Scala, Java, Python, …
Apache Spark
● Big Data “in-memory”. Spark permite realizar trabajos paralelizados
totalmente en memoria:
○ Reducción de tiempos
○ Procesos iterativos
● Esquema de computación más flexible que MapReduce.
○ Permite la flujos acíclicos de procesamiento de datos
Cloud Computing
● Modelo de prestación de servicios de negocio y tecnología, que permite al
usuario acceder a un catálogo de servicios estandarizado y responder a las
necesidades del negocio, de forma flexible y adaptativa, […] pagando
únicamente por el consumo efectuado.
● El usuario tiene la ilusión de estar utilizando un ordenador virtual con
recursos ilimitados
Paralelismo…
¡ Distribuir para
maximizar la
eficiencia!
Procesamiento en paralelo con datos distribuidos
● MapReduce
Ejemplo MapReduce : Contar palabras
Ejemplo MapReduce : Contar palabras
Ejemplo MapReduce : Contar palabras
Ejemplo MapReduce : Contar palabras
Ejemplo MapReduce : Contar palabras