Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Como optimizar y
monitorizar
trabajos de Spark
con la Spark Web
Marzo 2017
Spark meetup
Presentación
Presentación
JORGE LÓPEZ-MALLA
@jorgelopezmalla
Después de unos años trabajando en
proyectos con tecnologías
...
La empresa
Presentación
Stratio acompaña a las empresas en su viaje hacia la Transformación Digital. Mediante el trabajo d...
¿Cómo funciona Spark?
1
Lanzamiento de un trabajo de Spark
¿Cóm funciona Spark?
Driver
HDFS
scala> sc.textFile(“tweets.txt”)
.flatMap(_.split(“ ”)...
Terminología
¿Cóm funciona Spark?
Worker
Cada una de las máquinas esclavas de un cluster de Spark. Estos contienen a los
E...
Terminología
¿Cóm funciona Spark?
Application
Cada uno de los Main’s en los que se crean SparkContext que usaremos para la...
Terminología
¿Cóm funciona Spark?
Stage
Cada una de las partes en las que separa un Job el DAG, básicamente es todo lo que...
Terminología
¿Cóm funciona Spark?
Partition
Cada una de las partes en las que separa un RDD, contienen toda la información...
¿En que nos puede ayudar una web de Spark?
¿Cóm funciona Spark?
● Nos ayuda a optimizar nuestro DAG.
● Los métodos ejecuta...
StandAlone
¿Cóm funciona Spark?
YARN
¿Cóm funciona Spark?
Mesos
¿Cóm funciona Spark?
Consultar el pasado
¿Cóm funciona Spark?
Spark jobs y la web
2
Introducción
¿Cóm funciona Spark?
● La web se agrupa por application.
● Podemos consultar información a varios niveles.
● ...
Application
Spark Batch y la web
Job
Spark Batch y la web
Stage
Spark Batch y la web
Stage
Spark Batch y la web
Cache
Spark Batch y la web
Contadores
Spark Batch y la web
Conclusiones
Spark Batch y la web
● Siempre controla el nivel de Shuffle de escritura y lectura.
● Controlar el tiempo de ...
SparkSQL y la web
3
Introducción
Spark SQL y la web
● SparkSQL es uno de los módulos más importantes de Spark
● Posee un apartado propio dentr...
SparkSQL logical plan
Spark SQL y la web
SparkSQL y stage web
Spark SQL y la web
SparkSQL y stage web
Spark SQL y la web
Conclusiones
Spark Batch y la web
● Hay que usar SQL siempre que se pueda porque facilita el trabajo
● Estudiar primero el...
Spark streaming y la web
4
Introducción
Spark streaming y la web
● La web cobra especial importancia en Streaming
● Es el punto de consulta más amiga...
¿Cómo funciona Spark Streaming?
Spark streaming y la web
Kafka
RDD1 RDD2 RDD3 RDD4 RDD5
RDD1
RDD2
RDD3
RDD4
Streaming Job web
Spark streaming y la web
Streaming Job web
Spark streaming y la web
Streaming Job web
Spark streaming y la web
Streaming Job stages
Spark streaming y la web
Streaming inputDStream
Spark streaming y la web
Conclusiones
Spark Streaming y la web
● La spark web gana una importancial trancendental en los jobs de Streaming
● Si es ...
Ruegos y preguntas
Ruegos y preguntas
people@stratio.com
WE ARE HIRING
@StratioBD
¡Esto es todo amigos!
MUCHAS GRACIAS Y ANIMAROS A COMPARTIR CONOCIMIENTO
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017
Upcoming SlideShare
Loading in …5
×

Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017

320 views

Published on

Apache Spark ya es una realidad en el mundo de la informática y ahora necesitamos no sólo saber de lo que la tecnología es capaz, necesitamos hacerlo productivo. Para ello necesitamos saber cómo poder auditar cada uno de sus procesos de una manera sencilla y sin necesidad de conocimientos destacados de esta tecnología.

Jorge López-Malla muestra qué herramientas proporciona el propio framework de Apache Spark para poder monitorizar el rendimiento de los algoritmos y cómo sacarle partido para mejorar los jobs de Apache Spark, tanto streaming como batch, y ver qué magia hace SparkSQL cuando se quiere hacer un simple join.

Published in: Technology
  • Be the first to comment

Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017

  1. 1. Como optimizar y monitorizar trabajos de Spark con la Spark Web Marzo 2017 Spark meetup
  2. 2. Presentación Presentación JORGE LÓPEZ-MALLA @jorgelopezmalla Después de unos años trabajando en proyectos con tecnologías tradicionales empecé a trabajar con Big en I+D y desde entonces me enamoré de este mundo. Tras trabajar en diversos proyectos usando Spark como tecnologia base estoy a cargo de las modifcaciones de Spark para la plataforma Stratio SKILLS
  3. 3. La empresa Presentación Stratio acompaña a las empresas en su viaje hacia la Transformación Digital. Mediante el trabajo duro y la creatividad, nuestra meta es reinventar a las empresa alrededor de sus datos para que así estas puedan competir en este nuevo mundo digital. Nuestra solución es un producto de transformación que utiliza tecnologías Big Data de tercera generación para ejecutar la forma más completa de Transformación Digital, garantizando escalabilidad, flexibilidad máxima y adaptación a nuevos mercados. Si tenéis alguna pregunta o quereis a una demostración en vivo de nuestro producto, contactar con: contact@stratio.com
  4. 4. ¿Cómo funciona Spark? 1
  5. 5. Lanzamiento de un trabajo de Spark ¿Cóm funciona Spark? Driver HDFS scala> sc.textFile(“tweets.txt”) .flatMap(_.split(“ ”)) .filter(_.startsWith(”#”) .map(tweet => (tweet,1)) .reduceByKey(_+_).collect
  6. 6. Terminología ¿Cóm funciona Spark? Worker Cada una de las máquinas esclavas de un cluster de Spark. Estos contienen a los Executor. Su número se define a nivel de Cluster de Spark Executor Se encargará de ejecutar las Application de Spark. Se ejecutan dentro de los Worker. Se definen a nivel de Application.(Spark siempre considera el Driver como un Executor)
  7. 7. Terminología ¿Cóm funciona Spark? Application Cada uno de los Main’s en los que se crean SparkContext que usaremos para lanzar jobs de Spark. Dentro de cada Application se lanzará uno o varios Job(Ej: Spark-shell) Job Son los trabajos de Spark, todos terminan en una Acción. El DAG genera su longitud y está compuesto por distintos Stages.(Ej: salvar a fichero de texto/contar registros de un rdd)
  8. 8. Terminología ¿Cóm funciona Spark? Stage Cada una de las partes en las que separa un Job el DAG, básicamente es todo lo que se puede hacer en una sóla Partition sin necesidad de hacer Shuffle. Cada Stage tiene varios Task Task Cada una de las tareas en las que se divide un Stage. Se realizarán tantos Tasks como particiones haya en cada operación de un stage.
  9. 9. Terminología ¿Cóm funciona Spark? Partition Cada una de las partes en las que separa un RDD, contienen toda la información necesaria para que un Executor pueda ejecutar cada una de las Task
  10. 10. ¿En que nos puede ayudar una web de Spark? ¿Cóm funciona Spark? ● Nos ayuda a optimizar nuestro DAG. ● Los métodos ejecutados en los Task son transparentes para la Web. ● Tiene información de lo que entra y lo que sale no de lo que se hace dentro. ● Para Spark Streaming es el único punto de información “amigable”. ● Tiene información de todo el entorno. ● Almacena información de lo cacheado. ● Es independiente de ResourceManager*
  11. 11. StandAlone ¿Cóm funciona Spark?
  12. 12. YARN ¿Cóm funciona Spark?
  13. 13. Mesos ¿Cóm funciona Spark?
  14. 14. Consultar el pasado ¿Cóm funciona Spark?
  15. 15. Spark jobs y la web 2
  16. 16. Introducción ¿Cóm funciona Spark? ● La web se agrupa por application. ● Podemos consultar información a varios niveles. ● No sólo es útil la información de los jobs. ● Nos permite llegar a todos los logs cuando se está ejecutando la aplicación.
  17. 17. Application Spark Batch y la web
  18. 18. Job Spark Batch y la web
  19. 19. Stage Spark Batch y la web
  20. 20. Stage Spark Batch y la web
  21. 21. Cache Spark Batch y la web
  22. 22. Contadores Spark Batch y la web
  23. 23. Conclusiones Spark Batch y la web ● Siempre controla el nivel de Shuffle de escritura y lectura. ● Controlar el tiempo de tarea ○ CONTROLAR EL EFECTO SE HA QUEDADO EN LA ÚLTIMA TAREA(nunca es la última) ● Ver el número de tareas por Stage (usar operaciones Values) ● Usa contadores para monitorizar tu trabajo (y arriesgate a que fallen en las transformaciones). ● Nombra a los RDD y asi podrás seguirlos.
  24. 24. SparkSQL y la web 3
  25. 25. Introducción Spark SQL y la web ● SparkSQL es uno de los módulos más importantes de Spark ● Posee un apartado propio dentro de la web ● Nos permite hacer cosas muy importantes de una manera “transparente” para el usuario ● Hace muchas operaciones sin que el usuario lo sepa. ● ¡La web nos permite ver parte de esos secretos!
  26. 26. SparkSQL logical plan Spark SQL y la web
  27. 27. SparkSQL y stage web Spark SQL y la web
  28. 28. SparkSQL y stage web Spark SQL y la web
  29. 29. Conclusiones Spark Batch y la web ● Hay que usar SQL siempre que se pueda porque facilita el trabajo ● Estudiar primero el comportamiento de los datasource y operaciones antes de usarlo ● Consultar el logical plan
  30. 30. Spark streaming y la web 4
  31. 31. Introducción Spark streaming y la web ● La web cobra especial importancia en Streaming ● Es el punto de consulta más amigable para la monitorización de nuestros trabajos ● Una vez más: no sólo es útil la información de los jobs.
  32. 32. ¿Cómo funciona Spark Streaming? Spark streaming y la web Kafka RDD1 RDD2 RDD3 RDD4 RDD5 RDD1 RDD2 RDD3 RDD4
  33. 33. Streaming Job web Spark streaming y la web
  34. 34. Streaming Job web Spark streaming y la web
  35. 35. Streaming Job web Spark streaming y la web
  36. 36. Streaming Job stages Spark streaming y la web
  37. 37. Streaming inputDStream Spark streaming y la web
  38. 38. Conclusiones Spark Streaming y la web ● La spark web gana una importancial trancendental en los jobs de Streaming ● Si es importante para monitorizar un trabajo, ¡mucho más para uno por segundo! ● Tambien nos permite consultar datos de nuestros InputDstream ● Métricas de delays.
  39. 39. Ruegos y preguntas Ruegos y preguntas
  40. 40. people@stratio.com WE ARE HIRING @StratioBD
  41. 41. ¡Esto es todo amigos! MUCHAS GRACIAS Y ANIMAROS A COMPARTIR CONOCIMIENTO

×