SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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
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: contact@stratio.com
¿Cómo funciona Spark?
1
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*
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.
● 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.
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 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.
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 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!
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 comportamiento de los datasource y operaciones antes de usarlo
● Consultar el logical plan
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 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
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 importante para monitorizar un trabajo, ¡mucho más para uno por segundo!
● Tambien nos permite consultar datos de nuestros InputDstream
● Métricas de delays.
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

Mais conteúdo relacionado

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

Meetup Spark y la Combinación de sus Distintos Módulos
Meetup Spark y la Combinación de sus Distintos MódulosMeetup Spark y la Combinación de sus Distintos Módulos
Meetup Spark y la Combinación de sus Distintos MódulosJorge Lopez-Malla
 
Herramientas BigData.pptx
Herramientas BigData.pptxHerramientas BigData.pptx
Herramientas BigData.pptxMauricio Bedoya
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?Fernando Alfonso Casas De la Torre
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache SparkGustavo Arjones
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache SparkSocialmetrix
 
Meetup Junio Apache Spark Fundamentals
Meetup Junio Apache Spark FundamentalsMeetup Junio Apache Spark Fundamentals
Meetup Junio Apache Spark FundamentalsDataLab Community
 
Spark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionSpark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionciriloallccagaray5
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueGlobant
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoFinizens
 
Scala: La escalera a la Programación Funcional
Scala: La escalera a la Programación FuncionalScala: La escalera a la Programación Funcional
Scala: La escalera a la Programación FuncionalQindel Group
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricksEduardo Castro
 
Clase 0 - Introducción a Javascript.pptx
Clase 0 - Introducción a Javascript.pptxClase 0 - Introducción a Javascript.pptx
Clase 0 - Introducción a Javascript.pptxMaxiMalaval
 

Semelhante a Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - 28 de Marzo 2017 (20)

Meetup Spark y la Combinación de sus Distintos Módulos
Meetup Spark y la Combinación de sus Distintos MódulosMeetup Spark y la Combinación de sus Distintos Módulos
Meetup Spark y la Combinación de sus Distintos Módulos
 
Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
Spark meetup barcelona
Spark meetup barcelonaSpark meetup barcelona
Spark meetup barcelona
 
Herramientas BigData.pptx
Herramientas BigData.pptxHerramientas BigData.pptx
Herramientas BigData.pptx
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
 
Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache Spark
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Meetup Junio Apache Spark Fundamentals
Meetup Junio Apache Spark FundamentalsMeetup Junio Apache Spark Fundamentals
Meetup Junio Apache Spark Fundamentals
 
Spark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionSpark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusion
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
Taller Corona
Taller CoronaTaller Corona
Taller Corona
 
Scala: La escalera a la Programación Funcional
Scala: La escalera a la Programación FuncionalScala: La escalera a la Programación Funcional
Scala: La escalera a la Programación Funcional
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricks
 
Clase 0 - Introducción a Javascript.pptx
Clase 0 - Introducción a Javascript.pptxClase 0 - Introducción a Javascript.pptx
Clase 0 - Introducción a Javascript.pptx
 
Resilient Distributed Dataset - Analisis paper
Resilient  Distributed Dataset - Analisis paper Resilient  Distributed Dataset - Analisis paper
Resilient Distributed Dataset - Analisis paper
 
Spark
SparkSpark
Spark
 
Meetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scalaMeetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scala
 

Mais de Stratio

Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Stratio
 
Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Stratio
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science MeetupStratio
 
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupUsing Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupStratio
 
Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Stratio
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0Stratio
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challengeStratio
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big DataStratio
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformStratio
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksStratio
 
“A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” “A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” Stratio
 
Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosStratio
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + KerberosStratio
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model TreesStratio
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesStratio
 
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] SparktaStratio
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scalaStratio
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scalaStratio
 
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015Stratio
 

Mais de Stratio (20)

Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
 
Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science Meetup
 
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupUsing Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
 
Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Ensemble methods in Machine Learning
Ensemble methods in Machine Learning
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challenge
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big Data
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric Platform
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural Networks
 
“A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” “A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack”
 
Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelos
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model Trees
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph Datasources
 
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] Sparkta
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scala
 
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (13)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

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

  • 1. Como optimizar y monitorizar trabajos de Spark con la Spark Web Marzo 2017 Spark meetup
  • 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. 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
  • 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. 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. 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. 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. 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. ¿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*
  • 14. Consultar el pasado ¿Cóm funciona Spark?
  • 15. Spark jobs y la web 2
  • 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.
  • 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. SparkSQL y la web 3
  • 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!
  • 27. SparkSQL y stage web Spark SQL y la web
  • 28. SparkSQL y stage web Spark SQL y la web
  • 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. Spark streaming y la web 4
  • 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. ¿Cómo funciona Spark Streaming? Spark streaming y la web Kafka RDD1 RDD2 RDD3 RDD4 RDD5 RDD1 RDD2 RDD3 RDD4
  • 33. Streaming Job web Spark streaming y la web
  • 34. Streaming Job web Spark streaming y la web
  • 35. Streaming Job web Spark streaming y la web
  • 36. Streaming Job stages Spark streaming y la web
  • 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.
  • 41. ¡Esto es todo amigos! MUCHAS GRACIAS Y ANIMAROS A COMPARTIR CONOCIMIENTO