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. "
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
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