Está en la página 1de 30

[Tópicos de base de datos]

 
 
 
 
 
 
 
 
 
 
 
Alumno: [Beatriz Campos Flores]
Semestre: [Séptimo]
Grupo: [6751]
 
APACHE SPARK
Introducción
La catapulta de Leonardo, una herramienta genial. Permite con
poco esfuerzo enviar un objeto pesado a gran distancia.

La plataforma Spark, es una catapulta del


Aprendizaje Automatizado (ML Machine Learning).

2
PLATAFORMA SPARK:

El marco de referencia (framework) Spark permite


a los algoritmos y técnicas del Aprendizaje
Automatizado (ML), llegar a horizontes de
aplicación inusitados

INUSITADO. Adjetivo. Que es inusual o raro y por


ello resulta sorprendente. No habitual

3
¿Cuándo surge?

En 2009, el proyecto Spark inicia en la Universidad de California en Berkeley con los


trabajos de tesis doctoral de Matei Zaharia, quien es un alumno de los profesores
Ion Stoica y Michael Franklin.

4
¿Cuándo surge Spark? (cont.)

En 2010, se pone a disposición como Código Abierto (Open Source) con


licenciamiento tipo BSD.

En 2013, el proyecto se ofrece a la Apache Software Foundation y su licenciamiento se


ofrece como tipo Apache 2.0.

En 2014, el marco de referencia Spark se convierte en proyecto tipo Apache Top-Level


Project. Se acelera su divulgación y uso de forma vertiginosa.

5
¿Cómo surge?
En una entrevista, el Profesor Ion Stoica nos cuenta la historia:

“…Por los años 2009, se tenía un proyecto denominado


Nexus, derivado del curso Temas Avanzados de Ciencias
de la Computación (“Advanced Topics in Computer
Systems”) del Prof. David
Culler, el cual cambió de nombre posteriormente a Mesos
por cuestiones de derechos de autor con otro proyecto con
ese mismo nombre.”

(
https://soundcloud.com/oreilly-radar/apache-sparks-journey
)-
6
from-academia-to-industry
PLATAFORMA SPARK:

Este proyecto escolar inicial, derivó en la construcción del sistema Mesos como un
sistema de manejo de un cluster, en el que colaboran Benjamin Hindman, Andy
Konwinski, y Matei Zaharia.

El sistema Mesos es un marco de referencia (framework) para el manejo de un


cluster.

Soporta varios diferentes tipos de sistemas de cluster (cluster management framework,


which can support different kind of cluster computing systems).

7
PLATAFORMA SPARK:

Uno de los tesistas era Benjamin Hindman, quien fue contratado por Twitter
y donde fue uno de los promotores de BigData en Twitter.

El sistema Mesos se documenta y presenta en el artículo: “A Common


Substrate for Cluster Computing”, que puede consultarse en:
https://www.usenix.org/legacy/event/hotcloud09/tech/full_papers/hindma
n.pdf

Recientemente, Hindman se incorpora a Mesosphere, una compañía que


promueve Mesos.

8
PLATAFORMA SPARK:

Así en el año 2009 se tenía el marco de referencia Mesos.

Se deseaba mostrar que podía construirse utilizando este marco


de referencia, un ambiente de cómputo distribuido al estilo
Hadoop, pero mejorando los aspectos de cómputo iterativo e
interactivo que eran debilidades del aspecto procesamiento de
Hadoop MapReduce.

9
10 PLATAFORMA SPARK:

Dentro de las principales aplicaciones de cómputo iterativo e


interactivo tenemos precisamente las técnicas de Aprendizaje
Automatizado (Machine Learning).

Y así nace Spark como un proyecto que se construye


utilizando el marco de referencia Mesos para ofrecer un
ambiente de cómputo distribuido tolerante a fallas que soportara
procesos iterativos e interactivos como los requiere el
Aprendizaje Automatizado.
11 PLATAFORMA SPARK:

En esa época la Universidad de Berkeley desarrollaba un


proyecto para utilizar Hadoop Map/Reduce para técnicas y
algoritmos de ML (Machine Learning), que tenía diversos
inconvenientes.

Por lo cual uno de los principales objetivos de Spark era ofrecer


soporte a algoritmos de Aprendizaje Automatizado en un
contexto de Grandes Volúmenes para sistemas iterativos e
interactivos.
12 PLATAFORMA SPARK:
En esas fechas por los pasillos de la UC Berkeley existía un ambiente de
investigación promovida por Michael Franklin, con el fin de impulsar
sistemas que permitan el manejo de grandes volúmenes, con una
perspectiva de aplicación a sistemas de análisis y toma de decisiones
fundamentada en Aprendizaje Automatizado.

Lo que ahora se denomina Analíticos en Grandes Volúmenes


(Big Data Analytics).
En ese entonces se tenía el RADLab (Reliable And Distributed computing
Lab). Desde 2009, gran parte de las investigaciones y tesis doctorales
se enfocan en Big Data y Analíticos de Grandes Volúmenes de Datos.
13 PLATAFORMA SPARK:

La entrevista a Michael Franklin se encuentra en

https://medium.com/s-c-a-l-e/amplab-s-co-creator-on-where-big-data-is-he

aded-and-why-spark-is-so-big-f0c0da2f7c0f

Así, en 2011, Michael Franklin y Ion Stoica, con financiamientos de la


Iniciativa BigData Obama y de empresas como Amazon WebServices,
Google, SAP y otras crean el AMPLab (Algorithms Machines
People).
14 PLATAFORMA SPARK:
Spark ofrece también soporte para un sistema de enunciados SQL interactivos, como
los requeridos por la compañía Conviva para el manejo de video y sistemas analíticos.
En un inicio, el problema de la distribución de video era como realizar decisiones
inteligentes para rutear y transmitir video en tiempo real sin fallas en la transmisión en una
red Internet con fallas.

La compañía Conviva, fundada en 2006, monitorea y


optimiza video en línea para las proveedoras de video en
tiempo real más importantes, en donde el Dr. Ion Stoica,
es cofundador y CTO (Chief Technology Officer).
15 PLATAFORMA SPARK:

La plataforma Conviva es un sistema en tiempo real que permite a los proveedores de


contenido en Internet en formato video (video streaming) ofrecer el contenido con calidad de
TV en Internet, sin importar las fallas de red y conectividad Internet.
Hoy Conviva maneja más de 4 mil millones de torrentes de videos (video streaming), con
más de 1.6 mil millones de dispositivos y más de 200 proveedores de servicios de Video en
Internet.
16 PLATAFORMA SPARK:
Así otra de los requerimientos que se deseaba en Spark es trabajar torrentes de datos
(Spark Streaming) y enunciados (SQL) de extracción en grandes volúmenes de datos (SQL
Spark), lo que motivo líneas de investigación del Prof. Ion Stoica y los tesistas de la
Universidad de California en Berkeley (UC Berkeley).
17 PLATAFORMA SPARK:

Antecedentes de Spark
Antes del mundo Spark surgieron una gran diversidad de contribuciones y sistemas del
cómo manejar datos para su búsqueda y análisis

●1962 Árbol AVL (Georgy Adelson-Velsky y Yevgeni Mijáilovich


Landis)
Esta es la estructura de Árbol AVL propuesto por los matemáticos rusos, que ofrece la
mejor forma de almacenar contenido para su búsqueda.
18 PLATAFORMA SPARK:

● 1992. Berkeley DB.


Bibliotecas de instrumentación del concepto AVL que fueron propuestas dentro
del sistema de archivos Unix y que, en una instrumentación fuera de Unix,
ofrecen unos investigadores de UC Berkeley, fundando una compañía:
Sleepycat.

Esta biblioteca se mejora e instrumenta en forma de código inmerso para


crear el concepto de Base de datos inmersa (Embedded database)
19 PLATAFORMA SPARK:
● 2003 Berkeley DB XML
● 2003 Google File System
● 2004 Berkeley DB JavaEdition
● 2004 MapReduce
● 2006 Berkeley DB Oracle 2006
● 2006 BigTable
● 2008 Dremel
20

Bibliotecas Spark

El marco de referencia (framework) Spark ofrece un conjunto de bibliotecas para el desarrollo


de aplicaciones. Entre las bibliotecas básicas integradas en la versión núcleo se tienen:
21 PLATAFORMA SPARK:

Spark SQL Es el modulo para el trabajo con datos estructurados.


Spark Streaming permite la construcción sencilla de aplicaciones escalables y tolerantes a
fallas utilizando torrentes de datos.

MLlib es una biblioteca escalable con algoritmos de Aprendizaje Automatizado (scalable


machine learning library).

GraphX es la biblioteca de Apache Spark para grafos y cómputo paralelo de grafos.


22 PLATAFORMA SPARK:

BDAS, Berkeley Data Analytics Stack

Con el objetivo de ofrecer un ambiente integral para el conjunto de


aplicaciones de grandes volúmenes de datos distribuidos y tolerante a fallos,
el marco de referencia (framework) Spark continúa añadiendo componentes
en una forma unificada.
Este es el proyecto BDAS (Berkeley Data Analytics Stack)
23 PLATAFORMA SPARK: CATAPULTA
MACHINE LEARNING
BDAS es una pila de aplicaciones de código abierto (open source software stack) que integra las
componentes de sistemas construidas por el Laboratorio AMPLab de UC Berkeley alrededor del concepto
de Analíticos de Grandes Volúmenes (BigData Analytics)
24 PLATAFORMA SPARK: CATAPULTA
MACHINE LEARNING
Algoritmos de Aprendizaje Automatizado (ML) en Spark

MLlib es la biblioteca de Spark que es escalable de algoritmos de Aprendizaje Automatizado


(Machine Learning Library) que incluye herramientas como clasificación (classification),
regresión (regression), agrupación (clustering), filtrado colaborativo (collaborative filtering),
reducción de dimensiones (dimensionality reduction).
25 PLATAFORMA SPARK: CATAPULTA
MACHINE LEARNING
Hoy la idea es NO INVENTAR EL AGUA TIBIA en el Aprendizaje Automatizado de Grandes
Volúmenes de Datos (BigData Analytics), y aplicar el tipo de algoritmo más conveniente a un
problema y NO PROGRAMAR DESDE EL INICIO los algoritmos.

Hoy debemos pensar en los Algoritmos de Aprendizaje


Automatizado como instrumentos o utensilios como en una analogía
de un gran banquete
26 PLATAFORMA SPARK: CATAPULTA
MACHINE LEARNING
Hoy los comensales quieren bocadillos y banquetes JUSTO A TIEMPO y de FORMA
INSTANTANEA (Streaming) para una gran población (usuarios Internet) en un extenso
territorio (cobertura Internet), sin importar si en la cocina se prepararon con el mejor horno
(Spark y BDAS) y las mejores recetas (Algoritmos ML eficientes) !!
27 PLATAFORMA SPARK: CATAPULTA
MACHINE LEARNING
Hoy Spark ofrece uno de los mejores instrumentos con una gran variedad de “recetas de
ML”, en particular ya se cuenta en MLlib 1.3 los siguientes algoritmos listos para utilizarse:

Ver página Spark ML

http://spark.apache.org/docs/latest/mllib-guide.html
28

• Tipos de datos • Clasificación y regresión


• Estadísticas Básicas • Modelos lineales (Máquinas de vectores de soporte
• Estadísticas de Resumen [SVMs], regresión logística, regresión lineal)
• Correlación • Clasificador Bayesiano ingenuo
• Muestreo estratificado • Árboles de decisión
• Prueba de hipótesis • Conjuntos de Árboles (Bosques Aleatorios y Árboles
• Generación aleatoria de datos de decisión impulsados)
• Regresión Isotónica
29

• Filtrado Colaborativo • Reducción de dimensión


• Mínimos Cuadrados Alternantes (ALS) • Descomposición de valor único (SVD)
• Agrupamiento • Análisis de componentes principales (PCA)
• K-medias • Extracción y transformación de características
• Mezclas • Minería por patrones frecuentes
Gaussian • Crecimiento FP
as • Optimización (desarrollador)
• Agrupami • Método de gradiente descendente estocástico
ento por • Límite de memoria BFGS (L-BFGS)
método
• Exportación de modelos PMML
de las
potencias
(PIC)
• Asignaci
ón
latente
de
30

Resumen
Hoy la plataforma Spark y los algoritmos de Aprendizaje
Automatizado incluidos en sus bibliotecas ofrecen a la
Ciencia de Datos (Data Science) una Catapulta para
promover la generación de aplicaciones de Analíticos de
Grandes Volúmenes de Datos

(BigData Analytics),
en particular en la rama de Aprendizaje Automatizado en Tiempo Real
utilizando la componente Spark Streaming y SQL Spark
para la extracción de información con enunciados SQL.

También podría gustarte