SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Data crunching con
David Przybilla
https://github.com/dav009
@dav009
http://opendataco.github.io/
Invitacion ;)
“Big Data”
Arquitectura Lambda
Que es Spark?
- Framework para procesar grandes cantidades de
información

- Es “como Hadoop, pero mejor”. El API es amor puro

- Accesible via Scala, Java, Python y R

- Permite procesar grandes cantidades de información
en tiempo real.

- Funciona muy bien con tecnologías como : Cassandra,
HDFS, Hive…

- No hay mucha diferencia entre resolver l mismo
problema en Spark que en Scala
Cuando debería pensar en
usar Spark?
• Exploración de Datos



- Explorar un dataset grande

- Slice (Particionar) dataset

- Hacer un cluster en AWS es rapido y barato

- Pipeline para procesar datos
• Crear Modelos / Pipeline de Procesamiento
• Sistemas de producción. i.e: 



- Calcular Modelos de Preferencia de Usuarios,

- Calcular estadísticas sobre eventos..
Cuando debería pensar en
usar Spark?
• Netflix: 1.5 Millones de eventos por Segundo
• Netflix: 80 billones de eventos al día
• Factorizar una Matriz de 700GB (datos
de twitter)
• Cruzar datos de diferentes ontologias:
• DBpedia(100GB),
• Freebase(350GB),
• Wikidata(cerca 100GB)
• Wikimedia (32T)
Quien usa Spark?
"IBM said it will put more than 3,500 of its
developers and researchers to work on
Spark-related projects. "
Hadoop
Spark
Contando largo de Lineas
Spark
RDD1
RDD2
RDD3
RDD4
Accion!
parallelize( [1, 2, 3 …… x] )
RDD(Resilient Distributed Dataset)
[1, 2, 3 …… x]Regular Array
RDD
[1, 2, 3]
[4, 5, 6]
[6, 7, 8]
[…. x]
[1, 2, 3 …… x]
Partitions
Operaciones sobre RDDs
Transformaciones RDD RDD
Input RDD : [1, 2, 3 ,4 …]
f(x) = x + 1
Output RDD : [2, 3, 4 ,5 …]
Operaciones sobre RDDs
Acciones RDD Valor
Input RDD : [1, 2, 3 ,4]
sum
Output : 10
ResilentDD
Resilient: [1, 2, 3]
[4, 5, 6] [6, 7, 8]
[…. x]
[1, 2, 3]
[4, 5, 6]
[1, 2, 3, 7]
[4, 5, 6, 8]
[…. x]
Driver
Driver
val datosArchivo = 

sc.textFile(“/Path/toFile“)
[Linea1,
Linea2,
Linea3…]
[Linea4, Linea5…]
[…. Linea x]
Driver
val palabras = datosArchivo.flatMap{
line =>
line.split(" ")
}
Linea1: Hola Mundo
Linea2: Hello World
[“Hola”, “Mundo”]
[“Hello”, “World”]
split
split
flatten
[“Hello”, “World”, “Hola”, “Mundo”]
[Hello, World,…]
[Hola,…]
[….,Mundo ]Driver
val soloPalabrasValle =
palabras.filter(_.toLowerCase()=="valle")
[Hello, World,…]
[c++…. valle ]
[Valle,…]
Driver
val numeroOcurrenciasValle = 

soloPalabrasValle.map(palabra => 1).reduce(_+_)
[valle, valle, Valle ..]
map
[1, 1, 1 ….]
[1, 1, 1…1 ]
reduce
( (1 + 1) + 1 ) + 1)
Total: 10
Driver
{
"Creaci√ón de Proceso": "24 de June de 2015 10:50 A.M.",
"Objeto del Contrato": "Prestacion de servicios profesionales como como medico general, en las condiciones, areas
servicios requeridos",
"Estado del Contrato": "Celebrado",
"Correo Electr√ónico": "contratacion@esesanantoniodepadua.gov.co",
"Fecha de Inicio de Ejecuci√ón del Contrato": "02 de mayo de 2015",
"Grupo": "[F] Servicios",
"Tipo de Contrato": "Prestaci√ón de Servicios",
"Identificaci√ón del Representante Legal": "C√édula de Ciudadanía No. 1.110.479.226 Ibagu√é",
"Departamento y Municipio de Ejecuci√ón": "Huila : La Plata",
"Cuantía Definitiva del Contrato": "$12,000,000 Peso Colombiano",
"documents": [
{
"publication_date": "24-06-2015 11:03 AM",
"url": "/cloud/cloud2/2015/DA/241396015/15-4-3967699/DA_PROCESO_15-4-3967699_241396015_15194469.pdf",
"name": "Documento Adicional",
"description": "ACTA INICIO"
},
{
"publication_date": "24-06-2015 11:02 AM",
"url": "/cloud/cloud2/2015/C/241396015/15-4-3967699/C_PROCESO_15-4-3967699_241396015_15194424.pdf",
"name": "Contrato",
"description": ""
}
],
"Identificaci√ón del Contratista": "C√édula de Ciudadanía No. 1.110.479.226 Ibagu√é",
"Nombre o Raz√ón Social del Contratista": "GERMAN EDUARDO SILVA BONILLA",
"Nombre del Representante Legal del Contratista": "GERMAN EDUARDO SILVA BONILLA",
"Segmento": "[85] Servicios de Salud",
"Plazo de Ejecuci√ón del Contrato": "2 Meses",
"Celebraci√ón de Contrato": "24 de June de 2015 11:04 A.M.",
"Estado del Proceso": "Celebrado",
"Clase": "[851016] Personas de soporte de prestaci√ón de servicios de salud",
"Cuantía a Contratar": "$12,000,000",
"RÎgimen de Contrataci×n": "ESE HOSPITAL",
"Destinaci√ón del Gasto": "No Aplica",
"Tipo de Proceso": "RÎgimen Especial",
"Detalle y Cantidad del Objeto a Contratar": "Prestacion de servicios profesionales como como medico general, en
condiciones, areas y servicios requeridos",
"Fecha de Firma del Contrato": "30 de abril de 2015",
Datos
import sqlContext._
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)

val contratos = 

sqlContext.jsonFile("pathToFile")


contratos.registerTempTable("contratos")

contratos.printSchema()
Json? Daataframes!
val contratosNombreCuantia = 

sqlContext.sql(query)
val query =
"SELECT `Cuantía a Contratar` as cuantia, `Nombre o Razón Socia
del Contratista` as nombre, `Departamento y Municipio de Ejecuci
as place FROM contratos"
contratosNombreCuantia.take(10)
Que debería aprender?
• Programación Funcional?
• Dataframes (si! como en pandas ;) )
• Spark Streaming (Real time Spark)
• Spark-EC2 utils
• MLIB(Machine Learning)
• GraphX
Links utiles
• Ejemplos: https://spark.apache.org/examples.html
• Cassandra - Spark: https://github.com/datastax/
spark-cassandra-connector
• Exploracion: http://lightning-viz.org/
• Deep learning : https://github.com/deeplearning4j/
deeplearning4j
Links Utiles
• Pandas & Spark: http://www.slideshare.net/hkarau/sparkling-pandas-electric-bugaloo-
py-data-seattle-2015
• Sparta : Spark + Julia : https://github.com/dfdx/Sparta.jl
• Time series: https://github.com/charles-cai/spark-timeseries
• Deep learning on Spark : http://deepdist.com/
• Hive & Spark : http://www.slideshare.net/Hadoop_Summit/empower-hive-with-spark
• Exploring SparkR : http://blagrants.blogspot.co.uk/2015/06/exploring-sparkr.html
• Spark ETL Techniques : http://www.slideshare.net/DonDrake/spark-etl-techniques
• Lambda Architecture : https://www.parleys.com/tutorial/lambda-architecture-spark-
streaming-kafka-cassandra-akka-scala
• StreamDM: Data Mining for Spark Streaming. http://huawei-noah.github.io/streamDM/

Más contenido relacionado

La actualidad más candente

Ambito del software
Ambito del softwareAmbito del software
Ambito del softwareJorge Reyes
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientosUCATEBA
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTEREduardo Schenker
 
Arquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosArquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosnegriz
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareReynaldo Mayz
 
Análisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasAnálisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasprofmyriamsanuy
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasMario J Arrieta
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareSoftware Guru
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Gustavo Gualsema
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webRequerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webAlonzer Acid Nox
 

La actualidad más candente (20)

Ambito del software
Ambito del softwareAmbito del software
Ambito del software
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientos
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
NORMA ISO 25010
NORMA ISO 25010NORMA ISO 25010
NORMA ISO 25010
 
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
 
Arquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datosArquitectura de Sistemas de Bases de datos
Arquitectura de Sistemas de Bases de datos
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Metodologias web
Metodologias webMetodologias web
Metodologias web
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de software
 
Análisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasAnálisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemas
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemas
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de Software
 
Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webRequerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones web
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
13.diseño de web apps
13.diseño de web apps13.diseño de web apps
13.diseño de web apps
 

Destacado

Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache SparkGustavo Arjones
 
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 realtimeSocialmetrix
 
Presentacion seguridad redes_sociales
Presentacion seguridad redes_socialesPresentacion seguridad redes_sociales
Presentacion seguridad redes_socialessadwou
 
Guiaparapadres[1][1]
Guiaparapadres[1][1]Guiaparapadres[1][1]
Guiaparapadres[1][1]petronila
 
Seguridad en las redes sociales
Seguridad en las redes socialesSeguridad en las redes sociales
Seguridad en las redes socialesDones en Xarxa
 
Acción 1.1. Seguridad en Redes Sociales
Acción 1.1. Seguridad en Redes SocialesAcción 1.1. Seguridad en Redes Sociales
Acción 1.1. Seguridad en Redes SocialesAlicantevor
 
Ppt redes sociales y menores
Ppt redes sociales y menoresPpt redes sociales y menores
Ppt redes sociales y menoreskiarasacobi
 
Educación y sociedad: Riesgo de las redes sociales en los menores
Educación y sociedad: Riesgo de las redes sociales en los menoresEducación y sociedad: Riesgo de las redes sociales en los menores
Educación y sociedad: Riesgo de las redes sociales en los menoresangyrgc20
 
Tecnoadicciones. Guía para profesores
Tecnoadicciones. Guía para profesoresTecnoadicciones. Guía para profesores
Tecnoadicciones. Guía para profesoresDavid Romero Martín
 
Tecnoadicciones. Guía para las familias
Tecnoadicciones. Guía para las familiasTecnoadicciones. Guía para las familias
Tecnoadicciones. Guía para las familiasDavid Romero Martín
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveWellness Telecom
 

Destacado (20)

Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion 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
 
Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
Manual Spark
Manual SparkManual Spark
Manual Spark
 
Ciberacoso
CiberacosoCiberacoso
Ciberacoso
 
Fundacion alia2
Fundacion alia2 Fundacion alia2
Fundacion alia2
 
Presentacion seguridad redes_sociales
Presentacion seguridad redes_socialesPresentacion seguridad redes_sociales
Presentacion seguridad redes_sociales
 
Guiaparapadres[1][1]
Guiaparapadres[1][1]Guiaparapadres[1][1]
Guiaparapadres[1][1]
 
Resilient Distributed Dataset - Analisis paper
Resilient  Distributed Dataset - Analisis paper Resilient  Distributed Dataset - Analisis paper
Resilient Distributed Dataset - Analisis paper
 
Seguridad en redes sociales Día de inernet María Paula Espinosa
Seguridad en redes sociales Día de inernet María Paula EspinosaSeguridad en redes sociales Día de inernet María Paula Espinosa
Seguridad en redes sociales Día de inernet María Paula Espinosa
 
Internet
InternetInternet
Internet
 
Seguridad en las redes sociales
Seguridad en las redes socialesSeguridad en las redes sociales
Seguridad en las redes sociales
 
Grooming
GroomingGrooming
Grooming
 
Acción 1.1. Seguridad en Redes Sociales
Acción 1.1. Seguridad en Redes SocialesAcción 1.1. Seguridad en Redes Sociales
Acción 1.1. Seguridad en Redes Sociales
 
Ppt redes sociales y menores
Ppt redes sociales y menoresPpt redes sociales y menores
Ppt redes sociales y menores
 
Educación y sociedad: Riesgo de las redes sociales en los menores
Educación y sociedad: Riesgo de las redes sociales en los menoresEducación y sociedad: Riesgo de las redes sociales en los menores
Educación y sociedad: Riesgo de las redes sociales en los menores
 
Tecnoadicciones. Guía para profesores
Tecnoadicciones. Guía para profesoresTecnoadicciones. Guía para profesores
Tecnoadicciones. Guía para profesores
 
Tecnoadicciones. Guía para las familias
Tecnoadicciones. Guía para las familiasTecnoadicciones. Guía para las familias
Tecnoadicciones. Guía para las familias
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y Hive
 
Seguridad en redes sociales
Seguridad en redes socialesSeguridad en redes sociales
Seguridad en redes sociales
 

Similar a Apache Spark - Introduccion a RDDs

Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...
Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...
Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...INACAP
 
Visualización de Big Data con Power View
Visualización de Big Data con Power ViewVisualización de Big Data con Power View
Visualización de Big Data con Power ViewEduardo Castro
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaUrko Zurutuza
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Visualización de big data con power view
Visualización de big data con power viewVisualización de big data con power view
Visualización de big data con power viewSpanishPASSVC
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseJoseph Lopez
 
Angel López Alos-Big data y cambio climático
Angel López Alos-Big data y cambio climáticoAngel López Alos-Big data y cambio climático
Angel López Alos-Big data y cambio climáticoFundación Ramón Areces
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realSoftware Guru
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000Salvador Ramos
 
ARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
ARQCONF2015: Creando una Arquitectura Moderna para Big Data AnalyticsARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
ARQCONF2015: Creando una Arquitectura Moderna para Big Data AnalyticsGustavo Arjones
 
Posadev 2018 - Distributing shirts data (ES)
Posadev 2018 - Distributing shirts data (ES)Posadev 2018 - Distributing shirts data (ES)
Posadev 2018 - Distributing shirts data (ES)Alejandro Escobedo
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 

Similar a Apache Spark - Introduccion a RDDs (20)

Yatel dm redes
Yatel dm redesYatel dm redes
Yatel dm redes
 
Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...
Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...
Sr. Pablo García, Internet de las Cosas y Big Data: ¿hacia dónde va la Indust...
 
Visualización de Big Data con Power View
Visualización de Big Data con Power ViewVisualización de Big Data con Power View
Visualización de Big Data con Power View
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
BigData
BigDataBigData
BigData
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Visualización de big data con power view
Visualización de big data con power viewVisualización de big data con power view
Visualización de big data con power view
 
Cloud Computing y MapReduce
Cloud Computing y MapReduceCloud Computing y MapReduce
Cloud Computing y MapReduce
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Angel López Alos-Big data y cambio climático
Angel López Alos-Big data y cambio climáticoAngel López Alos-Big data y cambio climático
Angel López Alos-Big data y cambio climático
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000
 
ARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
ARQCONF2015: Creando una Arquitectura Moderna para Big Data AnalyticsARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
ARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
 
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScriptFull-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
 
Posadev 2018 - Distributing shirts data (ES)
Posadev 2018 - Distributing shirts data (ES)Posadev 2018 - Distributing shirts data (ES)
Posadev 2018 - Distributing shirts data (ES)
 
Tecnologia Aplicaciones Web
Tecnologia Aplicaciones WebTecnologia Aplicaciones Web
Tecnologia Aplicaciones Web
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 

Más de David Przybilla

Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]David Przybilla
 
Transition Based Dependency Parsing
Transition Based Dependency ParsingTransition Based Dependency Parsing
Transition Based Dependency ParsingDavid Przybilla
 
Python in the land of serverless
Python in the land of serverlessPython in the land of serverless
Python in the land of serverlessDavid Przybilla
 
Procesamiento de Lenguaje Natural
Procesamiento de Lenguaje NaturalProcesamiento de Lenguaje Natural
Procesamiento de Lenguaje NaturalDavid Przybilla
 
Label propagation - Semisupervised Learning with Applications to NLP
Label propagation - Semisupervised Learning with Applications to NLPLabel propagation - Semisupervised Learning with Applications to NLP
Label propagation - Semisupervised Learning with Applications to NLPDavid Przybilla
 
Automatic generation of domain models for call centers
Automatic generation of domain models for call centersAutomatic generation of domain models for call centers
Automatic generation of domain models for call centersDavid Przybilla
 

Más de David Przybilla (7)

Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]
 
Transition Based Dependency Parsing
Transition Based Dependency ParsingTransition Based Dependency Parsing
Transition Based Dependency Parsing
 
Python in the land of serverless
Python in the land of serverlessPython in the land of serverless
Python in the land of serverless
 
Terraforming
Terraforming Terraforming
Terraforming
 
Procesamiento de Lenguaje Natural
Procesamiento de Lenguaje NaturalProcesamiento de Lenguaje Natural
Procesamiento de Lenguaje Natural
 
Label propagation - Semisupervised Learning with Applications to NLP
Label propagation - Semisupervised Learning with Applications to NLPLabel propagation - Semisupervised Learning with Applications to NLP
Label propagation - Semisupervised Learning with Applications to NLP
 
Automatic generation of domain models for call centers
Automatic generation of domain models for call centersAutomatic generation of domain models for call centers
Automatic generation of domain models for call centers
 

Último

El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismofariannys5
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónJhon Jimenez
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdfJC Díaz Herrera
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfJC Díaz Herrera
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxlm8322074
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfjosellaqtas
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANASanyahelmont
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfalexanderleonyonange
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoRaúl Figueroa
 
6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptx6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptxBrallanDanielRamrezS
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024analiticaydatos
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024IrapuatoCmovamos
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfJC Díaz Herrera
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILAsofiagomez288291
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1alfredo130306
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀LALVAREZD
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfJC Díaz Herrera
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointaria66611782972
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfJC Díaz Herrera
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...JC Díaz Herrera
 

Último (20)

El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificación
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdf
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptx6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptx
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
 

Apache Spark - Introduccion a RDDs

  • 1. Data crunching con David Przybilla https://github.com/dav009 @dav009
  • 5. Que es Spark? - Framework para procesar grandes cantidades de información
 - Es “como Hadoop, pero mejor”. El API es amor puro
 - Accesible via Scala, Java, Python y R
 - Permite procesar grandes cantidades de información en tiempo real.
 - Funciona muy bien con tecnologías como : Cassandra, HDFS, Hive…
 - No hay mucha diferencia entre resolver l mismo problema en Spark que en Scala
  • 6. Cuando debería pensar en usar Spark? • Exploración de Datos
 
 - Explorar un dataset grande
 - Slice (Particionar) dataset
 - Hacer un cluster en AWS es rapido y barato
 - Pipeline para procesar datos
  • 7. • Crear Modelos / Pipeline de Procesamiento • Sistemas de producción. i.e: 
 
 - Calcular Modelos de Preferencia de Usuarios,
 - Calcular estadísticas sobre eventos.. Cuando debería pensar en usar Spark?
  • 8. • Netflix: 1.5 Millones de eventos por Segundo • Netflix: 80 billones de eventos al día • Factorizar una Matriz de 700GB (datos de twitter) • Cruzar datos de diferentes ontologias: • DBpedia(100GB), • Freebase(350GB), • Wikidata(cerca 100GB) • Wikimedia (32T)
  • 9. Quien usa Spark? "IBM said it will put more than 3,500 of its developers and researchers to work on Spark-related projects. "
  • 12. parallelize( [1, 2, 3 …… x] ) RDD(Resilient Distributed Dataset) [1, 2, 3 …… x]Regular Array RDD [1, 2, 3] [4, 5, 6] [6, 7, 8] […. x] [1, 2, 3 …… x] Partitions
  • 13. Operaciones sobre RDDs Transformaciones RDD RDD Input RDD : [1, 2, 3 ,4 …] f(x) = x + 1 Output RDD : [2, 3, 4 ,5 …]
  • 14. Operaciones sobre RDDs Acciones RDD Valor Input RDD : [1, 2, 3 ,4] sum Output : 10
  • 15. ResilentDD Resilient: [1, 2, 3] [4, 5, 6] [6, 7, 8] […. x] [1, 2, 3] [4, 5, 6] [1, 2, 3, 7] [4, 5, 6, 8] […. x] Driver Driver
  • 16. val datosArchivo = 
 sc.textFile(“/Path/toFile“) [Linea1, Linea2, Linea3…] [Linea4, Linea5…] […. Linea x] Driver
  • 17. val palabras = datosArchivo.flatMap{ line => line.split(" ") } Linea1: Hola Mundo Linea2: Hello World [“Hola”, “Mundo”] [“Hello”, “World”] split split flatten [“Hello”, “World”, “Hola”, “Mundo”] [Hello, World,…] [Hola,…] [….,Mundo ]Driver
  • 18. val soloPalabrasValle = palabras.filter(_.toLowerCase()=="valle") [Hello, World,…] [c++…. valle ] [Valle,…] Driver
  • 19. val numeroOcurrenciasValle = 
 soloPalabrasValle.map(palabra => 1).reduce(_+_) [valle, valle, Valle ..] map [1, 1, 1 ….] [1, 1, 1…1 ] reduce ( (1 + 1) + 1 ) + 1) Total: 10 Driver
  • 20. { "Creaci√ón de Proceso": "24 de June de 2015 10:50 A.M.", "Objeto del Contrato": "Prestacion de servicios profesionales como como medico general, en las condiciones, areas servicios requeridos", "Estado del Contrato": "Celebrado", "Correo Electr√ónico": "contratacion@esesanantoniodepadua.gov.co", "Fecha de Inicio de Ejecuci√ón del Contrato": "02 de mayo de 2015", "Grupo": "[F] Servicios", "Tipo de Contrato": "Prestaci√ón de Servicios", "Identificaci√ón del Representante Legal": "C√édula de Ciudadanía No. 1.110.479.226 Ibagu√é", "Departamento y Municipio de Ejecuci√ón": "Huila : La Plata", "Cuantía Definitiva del Contrato": "$12,000,000 Peso Colombiano", "documents": [ { "publication_date": "24-06-2015 11:03 AM", "url": "/cloud/cloud2/2015/DA/241396015/15-4-3967699/DA_PROCESO_15-4-3967699_241396015_15194469.pdf", "name": "Documento Adicional", "description": "ACTA INICIO" }, { "publication_date": "24-06-2015 11:02 AM", "url": "/cloud/cloud2/2015/C/241396015/15-4-3967699/C_PROCESO_15-4-3967699_241396015_15194424.pdf", "name": "Contrato", "description": "" } ], "Identificaci√ón del Contratista": "C√édula de Ciudadanía No. 1.110.479.226 Ibagu√é", "Nombre o Raz√ón Social del Contratista": "GERMAN EDUARDO SILVA BONILLA", "Nombre del Representante Legal del Contratista": "GERMAN EDUARDO SILVA BONILLA", "Segmento": "[85] Servicios de Salud", "Plazo de Ejecuci√ón del Contrato": "2 Meses", "Celebraci√ón de Contrato": "24 de June de 2015 11:04 A.M.", "Estado del Proceso": "Celebrado", "Clase": "[851016] Personas de soporte de prestaci√ón de servicios de salud", "Cuantía a Contratar": "$12,000,000", "R√égimen de Contrataci√ón": "ESE HOSPITAL", "Destinaci√ón del Gasto": "No Aplica", "Tipo de Proceso": "R√égimen Especial", "Detalle y Cantidad del Objeto a Contratar": "Prestacion de servicios profesionales como como medico general, en condiciones, areas y servicios requeridos", "Fecha de Firma del Contrato": "30 de abril de 2015", Datos
  • 21. import sqlContext._ import org.apache.spark.sql.SQLContext val sqlContext = new SQLContext(sc)
 val contratos = 
 sqlContext.jsonFile("pathToFile") 
 contratos.registerTempTable("contratos")
 contratos.printSchema() Json? Daataframes!
  • 22. val contratosNombreCuantia = 
 sqlContext.sql(query) val query = "SELECT `Cuantía a Contratar` as cuantia, `Nombre o Razón Socia del Contratista` as nombre, `Departamento y Municipio de Ejecuci as place FROM contratos" contratosNombreCuantia.take(10)
  • 23. Que debería aprender? • Programación Funcional? • Dataframes (si! como en pandas ;) ) • Spark Streaming (Real time Spark) • Spark-EC2 utils • MLIB(Machine Learning) • GraphX
  • 24. Links utiles • Ejemplos: https://spark.apache.org/examples.html • Cassandra - Spark: https://github.com/datastax/ spark-cassandra-connector • Exploracion: http://lightning-viz.org/ • Deep learning : https://github.com/deeplearning4j/ deeplearning4j
  • 25. Links Utiles • Pandas & Spark: http://www.slideshare.net/hkarau/sparkling-pandas-electric-bugaloo- py-data-seattle-2015 • Sparta : Spark + Julia : https://github.com/dfdx/Sparta.jl • Time series: https://github.com/charles-cai/spark-timeseries • Deep learning on Spark : http://deepdist.com/ • Hive & Spark : http://www.slideshare.net/Hadoop_Summit/empower-hive-with-spark • Exploring SparkR : http://blagrants.blogspot.co.uk/2015/06/exploring-sparkr.html • Spark ETL Techniques : http://www.slideshare.net/DonDrake/spark-etl-techniques • Lambda Architecture : https://www.parleys.com/tutorial/lambda-architecture-spark- streaming-kafka-cassandra-akka-scala • StreamDM: Data Mining for Spark Streaming. http://huawei-noah.github.io/streamDM/