Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017
-
Upload
stratio -
Category
Technology
-
view
21 -
download
0
Transcript of Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017
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
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: [email protected]
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
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)
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)
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.
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
¿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*
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.
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.
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!
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
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.
¿Cómo funciona Spark Streaming?
Spark streaming y la web
Kafka
RDD1 RDD2 RDD3 RDD4 RDD5
RDD1
RDD2
RDD3
RDD4
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.