SlideShare a Scribd company logo
1 of 25
Download to read offline
Primeros pasos con Spark 
Apache Spark Madrid Meetup 
Daniel Higuero dhiguero@stratio.com @dhiguero 
1
•Introducción 
•Conceptos básicos 
•Ecosistema Spark 
•Instalación del entorno 
•Errores comunes 
Agenda 
2
3 
VIEWER DISCRETION IS ADVISED 
All elephants are innocent until proven guilty in a court of development 
Opinions expressed are solely my own and do not express the views or opinions of my employer.
Introducción 
4
o¿Qué es Spark? 
oFramework de procesamiento paralelo 
oHistoria 
Introducción 
Apache Spark Madrid Meetup 
5 
https://spark.apache.org/ 
Apache Software Foundation
oConcepto de programación funcional 
oPopularizado por Google 
Map-reduce 
6 
(map 'list (lambda (x) (+ x 10)) '(1 2 3 4)) => (11 12 13 14) (reduce #'+ '(1 2 3 4)) => 10 
Jeff Dean and Sanjay Ghemawat. "MapReduce: Simplified Data Processing on Large Clusters." OSDI (2004) 
Apache Spark Madrid Meetup
Map-Reduce 
7 
Input data 
Map 
Map 
Map 
Map 
Reduce 
Reduce 
Reduce 
result 
Apache Spark Madrid Meetup
oMayor flexibilidad en la definición de transformaciones 
oMenor uso de almacenamiento en disco 
oAprovechamiento de la memoria 
oTolerancia a fallos 
oTracción de la comunidad 
Ventajas de Spark 
Apache Spark Madrid Meetup 
8
Conceptos básicos 
9
oAbstracción básica en Spark 
oContiene las transformaciones que se van a realizar sobre un conjunto de datos 
•Inmutable 
•Lazy evaluation 
•En caso de fallo se puede recuperar el estado 
•Control de persistencia y particionado 
RDD 
Apache Spark Madrid Meetup 
10
oRepresenta la conexión a un cluster Spark 
oPermite crear distintos tipos de variables 
•RDD 
•Acumuladores 
•Broadcast 
SparkContext 
Apache Spark Madrid Meetup 
11 
new SparkContext(master: String, appName: String, conf: SparkConf)
Ecosistema 
12
Ecosistema Spark 
13 
Apache Spark Madrid Meetup 
© databricks
oProporciona las abstracciones básicas y se encarga del scheduling 
Spark core engine 
14 
Apache Spark Madrid Meetup 
RDD 
DAG Scheduling 
Cluster manager 
Threads 
Block manager 
Task scheduling 
Worker
oPermite transformar una fuente streaming en un conjunto de mini-batch 
•Definición de una ventana 
Temporal 
Spark Streaming 
15 
Apache Spark Madrid Meetup
Spark Streaming 
16 
Apache Spark Madrid Meetup 
Window = 5 
batch0 
batch1 
batch2 
batch3 
batch4 
batch5 
batch6 
batch7 
tiempo 
tiempo
oLibrería para Machine Learning 
oAbstracciones útiles para cómputo 
oVectores, Matrices dispersas 
oImplementación de algoritmos conocidos 
oClasificación, regresión, collaborative filtering y clustering 
MLlib 
17 
Apache Spark Madrid Meetup
oCapa de acceso SQL para ejecutar operaciones sobre RDD 
oSchemaRDD 
SparkSQL 
18 
Apache Spark Madrid Meetup 
sqlCtx = new HiveContext(sc) results = sqlCtx.sql( "SELECT * FROM people") names = results.map(lambda p: p.name) 
© databricks
SparkSQL (II) 
19 
Apache Spark Madrid Meetup 
val sqlContext = new org.apache.spark.sql.SQLContext(sc) import sqlContext.createSchemaRDD case class Person(name: String, age: Int) val people = sc.textFile("examples/src/main/resources/people.txt") .map(_.split(",")) .map(p => Person(p(0), p(1).trim.toInt)) people.registerAsTable("people") val teenagers = sqlContext .sql("SELECT name FROM people WHERE age >= 13 AND age <= 19") teenagers.map(t => "Name: " + t(0)).collect().foreach(println)
oGraphX 
•Soporte para grafos 
oSparkR 
•Permite conectar R con Spark 
oBlinkDB 
•Base de datos que ofrece funciones aproximadas 
Otros 
20 
Apache Spark Madrid Meetup 
graph = Graph(vertices, edges) messages = spark.textFile("hdfs://...") graph2 = graph.joinVertices(messages) { (id, vertex, msg) => ... }
Errores comunes 
21
oURL del master 
oNo distribuir los JAR entre los workers 
oFunciones con clases no serializables 
oFunciona en local -> funciona en distribuido 
oMemory leaks y eficiencia GC en operadores 
oConfusión operadores (reduce vs group-by) 
Errores comunes 
#CassandraSummit 2014 
22
Certificaciones 
23
oDistribuciones certificadas 
oCertificación de desarrolladores 
oCentros de formación certificados 
Certificaciones 
#CassandraSummit 2014 
24
Primeros pasos con Spark 
Apache Spark Madrid Meetup 
Daniel Higuero dhiguero@stratio.com @dhiguero 
25

More Related Content

What's hot

What's hot (9)

Kafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka MeetupKafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka Meetup
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 
Taller de Big Data y Ciencia de Datos en COLMEX dia 2
Taller de Big Data y Ciencia de Datos en COLMEX dia 2Taller de Big Data y Ciencia de Datos en COLMEX dia 2
Taller de Big Data y Ciencia de Datos en COLMEX dia 2
 
Búsqueda completa con Enterprise Search de Elastic
Búsqueda completa con Enterprise Search de ElasticBúsqueda completa con Enterprise Search de Elastic
Búsqueda completa con Enterprise Search de Elastic
 
Arquitectura a escala
Arquitectura a escalaArquitectura a escala
Arquitectura a escala
 
Arquitectura a escala
Arquitectura a escalaArquitectura a escala
Arquitectura a escala
 
Búsqueda completa con Workplace Search de Elastic
Búsqueda completa con Workplace Search de Elastic Búsqueda completa con Workplace Search de Elastic
Búsqueda completa con Workplace Search de Elastic
 
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
 
Sql azure data warehouse gab jorge muchaypina
Sql azure data warehouse gab   jorge muchaypinaSql azure data warehouse gab   jorge muchaypina
Sql azure data warehouse gab jorge muchaypina
 

Viewers also liked

Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scala
Stratio
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
Stratio
 

Viewers also liked (20)

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
 
Advanced search and Top-K queries in Cassandra
Advanced search and Top-K queries in CassandraAdvanced search and Top-K queries in Cassandra
Advanced search and Top-K queries in Cassandra
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
 
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
 
Apache Spark & Cassandra use case at Telefónica Cbs by Antonio Alcacer
Apache Spark & Cassandra use case at Telefónica Cbs by Antonio AlcacerApache Spark & Cassandra use case at Telefónica Cbs by Antonio Alcacer
Apache Spark & Cassandra use case at Telefónica Cbs by Antonio Alcacer
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph Datasources
 
Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelos
 
Stratio platform overview v4.1
Stratio platform overview v4.1Stratio platform overview v4.1
Stratio platform overview v4.1
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] Sparkta
 
Stratio CrossData: an efficient distributed datahub with batch and streaming ...
Stratio CrossData: an efficient distributed datahub with batch and streaming ...Stratio CrossData: an efficient distributed datahub with batch and streaming ...
Stratio CrossData: an efficient distributed datahub with batch and streaming ...
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model Trees
 
On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, KibanaOn-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
 
[Spark meetup] Spark Streaming Overview
[Spark meetup] Spark Streaming Overview[Spark meetup] Spark Streaming Overview
[Spark meetup] Spark Streaming Overview
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Spark Summit - Stratio Streaming
Spark Summit - Stratio Streaming Spark Summit - Stratio Streaming
Spark Summit - Stratio Streaming
 

Similar to Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014

Similar to Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014 (20)

Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
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 meetup barcelona
Spark meetup barcelonaSpark meetup barcelona
Spark meetup barcelona
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache Spark
 
Fun[ctional] spark with scala
Fun[ctional] spark with scalaFun[ctional] spark with scala
Fun[ctional] spark with scala
 
Meetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scalaMeetup Fun[ctional] spark with scala
Meetup Fun[ctional] spark with scala
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Tutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtime
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Cassandra Meetup
Cassandra MeetupCassandra Meetup
Cassandra Meetup
 
Spark
SparkSpark
Spark
 
Resilient Distributed Dataset - Analisis paper
Resilient  Distributed Dataset - Analisis paper Resilient  Distributed Dataset - Analisis paper
Resilient Distributed Dataset - Analisis paper
 
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
 
Taller: Limpieza y preparación de datos con Optimus y Apache Spark
Taller: Limpieza y preparación de datos con Optimus y Apache SparkTaller: Limpieza y preparación de datos con Optimus y Apache Spark
Taller: Limpieza y preparación de datos con Optimus y Apache Spark
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datos
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricks
 
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Meetup Real Time Aggregations  Spark Streaming + Spark SqlMeetup Real Time Aggregations  Spark Streaming + Spark Sql
Meetup Real Time Aggregations Spark Streaming + Spark Sql
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 

More from Stratio

More from Stratio (13)

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”
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
 
Why spark by Stratio - v.1.0
Why spark by Stratio - v.1.0Why spark by Stratio - v.1.0
Why spark by Stratio - v.1.0
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (15)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014

  • 1. Primeros pasos con Spark Apache Spark Madrid Meetup Daniel Higuero dhiguero@stratio.com @dhiguero 1
  • 2. •Introducción •Conceptos básicos •Ecosistema Spark •Instalación del entorno •Errores comunes Agenda 2
  • 3. 3 VIEWER DISCRETION IS ADVISED All elephants are innocent until proven guilty in a court of development Opinions expressed are solely my own and do not express the views or opinions of my employer.
  • 5. o¿Qué es Spark? oFramework de procesamiento paralelo oHistoria Introducción Apache Spark Madrid Meetup 5 https://spark.apache.org/ Apache Software Foundation
  • 6. oConcepto de programación funcional oPopularizado por Google Map-reduce 6 (map 'list (lambda (x) (+ x 10)) '(1 2 3 4)) => (11 12 13 14) (reduce #'+ '(1 2 3 4)) => 10 Jeff Dean and Sanjay Ghemawat. "MapReduce: Simplified Data Processing on Large Clusters." OSDI (2004) Apache Spark Madrid Meetup
  • 7. Map-Reduce 7 Input data Map Map Map Map Reduce Reduce Reduce result Apache Spark Madrid Meetup
  • 8. oMayor flexibilidad en la definición de transformaciones oMenor uso de almacenamiento en disco oAprovechamiento de la memoria oTolerancia a fallos oTracción de la comunidad Ventajas de Spark Apache Spark Madrid Meetup 8
  • 10. oAbstracción básica en Spark oContiene las transformaciones que se van a realizar sobre un conjunto de datos •Inmutable •Lazy evaluation •En caso de fallo se puede recuperar el estado •Control de persistencia y particionado RDD Apache Spark Madrid Meetup 10
  • 11. oRepresenta la conexión a un cluster Spark oPermite crear distintos tipos de variables •RDD •Acumuladores •Broadcast SparkContext Apache Spark Madrid Meetup 11 new SparkContext(master: String, appName: String, conf: SparkConf)
  • 13. Ecosistema Spark 13 Apache Spark Madrid Meetup © databricks
  • 14. oProporciona las abstracciones básicas y se encarga del scheduling Spark core engine 14 Apache Spark Madrid Meetup RDD DAG Scheduling Cluster manager Threads Block manager Task scheduling Worker
  • 15. oPermite transformar una fuente streaming en un conjunto de mini-batch •Definición de una ventana Temporal Spark Streaming 15 Apache Spark Madrid Meetup
  • 16. Spark Streaming 16 Apache Spark Madrid Meetup Window = 5 batch0 batch1 batch2 batch3 batch4 batch5 batch6 batch7 tiempo tiempo
  • 17. oLibrería para Machine Learning oAbstracciones útiles para cómputo oVectores, Matrices dispersas oImplementación de algoritmos conocidos oClasificación, regresión, collaborative filtering y clustering MLlib 17 Apache Spark Madrid Meetup
  • 18. oCapa de acceso SQL para ejecutar operaciones sobre RDD oSchemaRDD SparkSQL 18 Apache Spark Madrid Meetup sqlCtx = new HiveContext(sc) results = sqlCtx.sql( "SELECT * FROM people") names = results.map(lambda p: p.name) © databricks
  • 19. SparkSQL (II) 19 Apache Spark Madrid Meetup val sqlContext = new org.apache.spark.sql.SQLContext(sc) import sqlContext.createSchemaRDD case class Person(name: String, age: Int) val people = sc.textFile("examples/src/main/resources/people.txt") .map(_.split(",")) .map(p => Person(p(0), p(1).trim.toInt)) people.registerAsTable("people") val teenagers = sqlContext .sql("SELECT name FROM people WHERE age >= 13 AND age <= 19") teenagers.map(t => "Name: " + t(0)).collect().foreach(println)
  • 20. oGraphX •Soporte para grafos oSparkR •Permite conectar R con Spark oBlinkDB •Base de datos que ofrece funciones aproximadas Otros 20 Apache Spark Madrid Meetup graph = Graph(vertices, edges) messages = spark.textFile("hdfs://...") graph2 = graph.joinVertices(messages) { (id, vertex, msg) => ... }
  • 22. oURL del master oNo distribuir los JAR entre los workers oFunciones con clases no serializables oFunciona en local -> funciona en distribuido oMemory leaks y eficiencia GC en operadores oConfusión operadores (reduce vs group-by) Errores comunes #CassandraSummit 2014 22
  • 24. oDistribuciones certificadas oCertificación de desarrolladores oCentros de formación certificados Certificaciones #CassandraSummit 2014 24
  • 25. Primeros pasos con Spark Apache Spark Madrid Meetup Daniel Higuero dhiguero@stratio.com @dhiguero 25