SlideShare una empresa de Scribd logo
¿Por qué cambiar de Hadoop a Spark?
Teoria y ejemplos de nuestra experiencia
Gustavo Arjones
gustavo@socialmetrix.com
@arjones
Co-founder & CTO
Lic. Ciencias Computación
MBA Marketing Servicios
@arjones
gustavo@socialmetrix.com
linkedIn.com/in/arjones
Brasileño, en ARG desde 2008
Gustavo Arjones
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
#1 Interacción
Razones para elección
•  Reducir las incertimdubres del proyecto
•  HiveQL à SQL menor ramp-up
•  Hadoop/Hive tenía soporte en AWS
•  Proof of Concept funcionó correctamente
•  Pruebas con DynamoDB demonstraron ser muy costosas
Empiezan los
problemas
HQL	
  complejas	
  
son	
  para	
  escribir	
  
una	
  vez	
  y	
  nunca	
  
más	
  entenderlas!	
  
¿Por que cambiar de Apache Hadoop a Apache Spark?
Hive es difícil de testear
•  Frameworks de tests para Hive no están maduros y son dificiles
de implementar.
•  Gastamos mucho tiempo y recursos escribiendo validadores de
procesos y métricas
No están las últimas versiones de Hive en AWS
•  Se había lanzado Hive 0.13 hacias 4+ meses y nosotros todavía
teníamos Hive 0.12 en AWS
•  Perdíamos la dinámica de un proyecto con muchas features
nuevas y mejoras de performance
MySQL retrasaba los jobs
•  Cuando los MapReduce jobs terminanban y había que enviar los
datos a MySQL, estaba tomando 2x más tiempo que el MR de
cálculo.
•  Problemas típicos de MySQL, pérdida de performance en grande
volúmenes de datos
•  Limite de escalabilidad
Y como resultado …
•  Bugs aumentando
•  Tiempo de proyecto dilatandose
•  Baja reutilización de codigo
•  Problemas que atraparías en COMPILE-TIME terminan en
RUNTIME – porque es SQL!
¿Qué hacemos?
Seguimos por el mismo camino?
•  Probar Pig
•  Probar Cascading (o Scalding)
•  Probar Hbase
Pero seguíamos preocupados con
el tiempo de ejecución!
¿Probamos el
framework que
la gente viene
hablando?
Qué es Spark?
Apache Spark™ is a fast and general engine for large-scale data
processing.
•  Procesamiento In-memory (preferencialmente)
•  Framework de Procesamiento Unificado
•  Para Ingenieros & Data Scientists
Principales Pilares
Task Scheduler
•  Prepara los jobs a traves de DAG (Directed acyclic
graph)
•  Enganchan funciones para ejecutar los stages
•  Cache-aware; considera data utilización &
localización (data locality)
•  Partitioning-aware para reducir shuffles por la red
RDD (Resilient Distributed Datasets)
• 	
  Estructura de datos Immutable (In-memory)
•  Tolerante a fallas (Se reama en caso de falla)
•  Estructura de datos que puede ser operada en
paralelo
• Rica interfaz de Transformations & Actions
DEMO – Word Count (el hello world de BigData)
¿Por qué nos
gusta?
Viene de buen “origen”
BDAS, the Berkeley Data Analytics Stack (AMPLAB)
Plataforma Unificada
Plataforma Unificada (lines of code)
0
20000
40000
60000
80000
100000
120000
140000
Hadoop
MapReduce
Storm
(Streaming)
Impala (SQL) Giraph
(Graph)
Spark
non-test, non-example source lines (2014 numbers)
GraphX
Streaming
SparkSQL
Proyecto muy activo (y ganando tracción) ’13-’14
Proyecto muy activo 2015
¿Por que cambiar de Apache Hadoop a Apache Spark?
h;ps://twi;er.com/bigdata/status/610482424741367809	
  
Y más …
•  Esfuerzo para estandarización de la plataforma
•  Certificación para Distros
& Apps gratis
•  Material de training gratis
•  Databricks levantó $47M
•  Databricks Cloud (?)
Ventajas de la Plataforma Unificada
•  No es necesario copiar datos/ETL entre sistemas
•  Varios procesamientos en el mismo código (claridad)
•  Reutilización de código (Batch & Realtime)
•  Un único sistema para aprender ß Happy Devs
•  Ops: Un único sistema para mantener ß Happy Ops
Big Deal para
Arquitectura Lambda
Compacto y poderoso
•  Escrito en Scala, con wrappers para Python, Java* y R
API muy expresiva
Ver: https://spark.apache.org/docs/latest/api/scala/#org.apache.spark.rdd.RDD
+
SQL
+
Data
Frames
•  Aprender, prototipado rápido
•  Análisis interactivo sobre los datos
Consola interactiva (REPL)
Version Web de Spark-Shell – similar a Python Notebooks
Spark UI
h;ps://databricks.com/blog/2015/06/22/understanding-­‐
your-­‐spark-­‐applicaMon-­‐through-­‐visualizaMon.html	
  
Soporte Datasources
h;p://spark-­‐packages.org	
  
Spark SQL Demo
Código Testeable!
•  El contexto puede crear RDD
Easy Deployment
•  Local-mode (development)
•  Standalone (bare metal)
•  Standalone + Amazon AWS
•  Mesos
•  Yarn
Components for distributed execution in Spark
Y Hadoop?
Spark Or Hadoop -- Which Is
The Best Big Data Framework?
http://www.forbes.com/sites/bernardmarr/
2015/06/22/spark-or-hadoop-which-is-the-best-
big-data-framework/
Modelo Map-Reduce
iter. 1 iter. 2 . . .
Input
HDFS
read
HDFS
write
HDFS
read
HDFS
write
Input
query 1
query 2
query 3
result 1
result 2
result 3
. . .
HDFS
read
Lento porque necesita replicación, serialización y I/O
iter. 1 iter. 2 . . .
Input
Distributed
memory
Input
query 1
query 2
query 3
. . .
one-time
processing
10-100× más rápido
Spark (in-memory + DAG execution engine)
Spark y Hadoop pueden ser amigos
•  No hay HDFS en Spark – ver Tachyon
•  Acceso HDFS / S3
•  YARN
•  Usando Input/Output formats de Hadoop
Log Analyzer
https://www.gitbook.com/book/
databricks/databricks-spark-reference-
applications/details
Entonces todo es
perfecto? Nop …
•  Long Jobs
•  Serialization Issues
•  OOM
•  Data Locallity
http://blog.cloudera.com/blog/2015/05/
working-with-apache-spark-or-how-i-
learned-to-stop-worrying-and-love-the-
shuffle/
Donde aprender
más?
Mucha documentación disponible
Official Documentation
https://spark.apache.org/
Spark Summit 2015 - Slides and Video
https://spark-summit.org/2015/
Blog Official Databricks
https://databricks.com/blog
Personal notes about Apache Spark
http://arjon.es/tag/spark/
No te gustó
Spark?
Apache Flink
http://flink.apache.org
Gracias & Obrigado!
Gustavo Arjones
gustavo@socialmetrix.com
@arjones

Más contenido relacionado

PPTX
Estudio sobre Spark, Storm, Kafka y Hive
PDF
Tutorial en Apache Spark - Clasificando tweets en realtime
PDF
Introduccion a Apache Spark
PDF
Primeros pasos con Apache Spark - Madrid Meetup
PPTX
Big data con Hadoop y SSIS 2016
PPTX
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
PPTX
Introducción a Apache Spark
PPTX
OpenAnalytics Madrid 2014: Spark
Estudio sobre Spark, Storm, Kafka y Hive
Tutorial en Apache Spark - Clasificando tweets en realtime
Introduccion a Apache Spark
Primeros pasos con Apache Spark - Madrid Meetup
Big data con Hadoop y SSIS 2016
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Introducción a Apache Spark
OpenAnalytics Madrid 2014: Spark

La actualidad más candente (19)

PDF
Introducción a Hadoop
PDF
Introducción a hadoop
PDF
Spark meetup barcelona
PDF
Aula virtual apache_hadoop_v3 1
PDF
Big data para desarrolladores utilizando hadoop y openstack
PDF
Open analytics. data analytics con hadoop
PPTX
Meetup Real Time Aggregations Spark Streaming + Spark Sql
PDF
Hadoop en accion
PPT
Tecnicas Big Data: Meetup Cassandra
PPTX
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
PDF
Spark web meetup
PDF
Introducción a R - Primeros pasos en R
PDF
Meetup Spark y la Combinación de sus Distintos Módulos
PDF
Big Data a traves de una implementación
PPTX
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
PPTX
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
PPTX
Meetup errores en proyectos Big Data
Introducción a Hadoop
Introducción a hadoop
Spark meetup barcelona
Aula virtual apache_hadoop_v3 1
Big data para desarrolladores utilizando hadoop y openstack
Open analytics. data analytics con hadoop
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Hadoop en accion
Tecnicas Big Data: Meetup Cassandra
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Spark web meetup
Introducción a R - Primeros pasos en R
Meetup Spark y la Combinación de sus Distintos Módulos
Big Data a traves de una implementación
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Meetup errores en proyectos Big Data
Publicidad

Similar a ¿Por que cambiar de Apache Hadoop a Apache Spark? (20)

PDF
Polybase
PDF
DBA del Futuro (Un nuevo paradigma)
PDF
Why Apache Flink is better than Spark by Rubén Casado
PPTX
Big Data en Azure: Azure Data Lake
PPTX
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
PDF
Big Data para desarrolladores utilizando Hadoop y OpenStack
PPTX
Sistema de Bases de Datos AWS
PDF
Presentación sobre Bases de Datos NoSQL Sesion1
PDF
Presentación taller aplicaciones
PPTX
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
PDF
Congreso Academy Journal Celaya 2017
PPTX
Scala @ Real life
PDF
Escalabilidad y alto rendimiento con Symfony2
PDF
01 Introduccion a Big Data y Hadoop.pdf
PDF
Big data una cuantificación importante..
PDF
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
PPTX
Apache derby
PPTX
Scala@real life
PDF
avanttic - webinar: Oracle Database 12c (24-03-2015)
PPTX
Text Mining con R en SQL Server 2016
Polybase
DBA del Futuro (Un nuevo paradigma)
Why Apache Flink is better than Spark by Rubén Casado
Big Data en Azure: Azure Data Lake
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Big Data para desarrolladores utilizando Hadoop y OpenStack
Sistema de Bases de Datos AWS
Presentación sobre Bases de Datos NoSQL Sesion1
Presentación taller aplicaciones
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
Congreso Academy Journal Celaya 2017
Scala @ Real life
Escalabilidad y alto rendimiento con Symfony2
01 Introduccion a Big Data y Hadoop.pdf
Big data una cuantificación importante..
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Apache derby
Scala@real life
avanttic - webinar: Oracle Database 12c (24-03-2015)
Text Mining con R en SQL Server 2016
Publicidad

Más de Socialmetrix (13)

PDF
7 Disparadores de Engagement para o mercado de consumo massivo
PDF
The Ultimate Guide to using Social Media Media Analytics
PDF
Social Media is no longer something relevant just for the area of Marketing. ...
PDF
How to Create a Successful Social Media Campaign
PDF
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
PPT
Introducción a Apache Spark a través de un caso de uso cotidiano
PDF
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
PDF
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
PPTX
Call2Social
PDF
PPTX
Jugar Introduccion a Scala
PPTX
Endeavor – métricas em mídias sociais
PDF
MongoDB, RabbitMQ y Applicaciones en Nube
7 Disparadores de Engagement para o mercado de consumo massivo
The Ultimate Guide to using Social Media Media Analytics
Social Media is no longer something relevant just for the area of Marketing. ...
How to Create a Successful Social Media Campaign
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
Introducción a Apache Spark a través de un caso de uso cotidiano
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
Call2Social
Jugar Introduccion a Scala
Endeavor – métricas em mídias sociais
MongoDB, RabbitMQ y Applicaciones en Nube

Último (20)

DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
PDF
Maste clas de estructura metálica y arquitectura
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Administración se srevidores de apliaciones
PDF
ACTIVIDAD 2.pdf j
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
taller de informática - LEY DE OHM
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Trabajo colaborativo Grupo #2.docxmkkkkkkl
Maste clas de estructura metálica y arquitectura
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
introduccion a las_web en el 2025_mejoras.ppt
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
SAP Transportation Management para LSP, TM140 Col18
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Introduccion a servidores de Aplicaciones (1).pptx
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
REDES INFORMATICAS REDES INFORMATICAS.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Administración se srevidores de apliaciones
ACTIVIDAD 2.pdf j
diagrama de pareto.pdf valerie giraldo diaz
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Trabajo colaborativo Grupo #2.docxmmuhhlk
historia_web de la creacion de un navegador_presentacion.pptx
taller de informática - LEY DE OHM
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx

¿Por que cambiar de Apache Hadoop a Apache Spark?