SlideShare una empresa de Scribd logo
Ciencia de Datos con Apache Spark y OptimusCiencia de Datos con Apache Spark y Optimus
Favio Vázquez
Data Scientist
@faviovaz
https://github.com/faviovazquez
https://www.linkedin.com/in/faviovazquez/
March 15th, 2018
Esquema
1. Introducción a Apache Spark y1. Introducción a Apache Spark y
OptimusOptimus
Fundamentos de Spark
Fundamentos de Optimus
2. Data Science con Spark y2. Data Science con Spark y
OptimusOptimus
Limpieza, Exploración y Preparación de
Datos con Spark y Optimus
Introducción a Machine Learning con Spark
y Optimus.
http://spark.apache.org/
HistoriaHistoria
2004 – Google
MapReduce: Simplified Data Processing on Large Clusters
Jeffrey Dean and Sanjay Ghemawat
 
2006 – Apache
Hadoop, originating from the Nutch Project
Doug Cutting
 
2008 – Yahoo
web scale search indexing
Hadoop Summit, HUG, etc.
 
2009 – Amazon AWS
Elastic MapReduce
Hadoop modified for EC2/S3, plus support for Hive, Pig,
Cascading, etc.
research.google.com/archive/mapreduce.html
research.yahoo.com/files/cutting.pdf
developer.yahoo.com/hadoop/
aws.amazon.com/elasticmapreduce/
¿Qué es complicado¿Qué es complicado
en Big Data?en Big Data?
La combinación compleja de hilos de
ejecución, sistemas de almacenamiento  y
modos de trabajo.
ETL, agregaciones, machine learning,
streaming, etc.
Muy complicado obtener productividad y
performance
¿Qué es?¿Qué es?
Es un motor general y muy rápido para el
procesamiento en paralelo de datos en gran
escala.
Motor UnificadoMotor Unificado
APIs de alto nivel conAPIs de alto nivel con
espacio para optimizar espacio para optimizar 
Expresa todo el workflow con una API
Conecta librerías existentes y sistemas
de almacenamiento
RDDRDD
Transformaciones
Acciones
Caché
DatasetDataset
Tipado
Scala y Java
Beneficios
de RDD
DataframeDataframe
Dataset[Row]
Optimizado
Versátil
FUNDAMENTOSFUNDAMENTOS
SparkContextSparkContext
Un programa Spark crea primero un objeto
SparkContext  que le indica a Spark cómo y
dónde acceder a un clúster.
 El shell PySpark y Optimus crean
automáticamente la variable sc.
iPython y los programas deben usar un
constructor para crear un nuevo
SparkContext 
RDDsRDDs
Los Resilient Distributed Datasets (RDD)
son una colección distribuida de objetos
JVM inmutables que permiten realizar
cálculos muy rápidamente, y son la
columna vertebral de Apache Spark.
RDDsRDDs
DataFramesDataFrames
DataFramesDataFrames
DataFramesDataFrames
DataFramesDataFrames
data.map(lambda x: (x.rooms, [x.age,1]) 
.reduceByKey(lambda x, y: [x[0] + y[0], x[1] + y[1]]) 
.map(lambda x: x[0], x[1][0] / x[1][1]) 
.collect()
GroupBy y AVG con RDDs
GroupBy y AVG con DataFrames
data.groupBy("rooms").avg("age")
DataFramesDataFrames
Optimización
¿Por qué?
Los datos sucios cuestan $3
trilliones+ por año
Las compañías pierden 12%
de revenue
Malos Modelos
¿Por qué?
Encuesta Kaggle 16000 DS.Encuesta Kaggle 16000 DS.
Problemas.Problemas.
Problemas
Los Datos están suciosLos Datos están suciosFact of the day:
Problems
Difíciles de usar y entender.
La mayoría de ellos tienen su propio
lenguaje.
No son adecuados para Big Data.
SampleClean no continuado y nada
fácil de usar.
Mala integración con Machine
Learning.
Atascados en la limpieza.
Mal documentado.
Un poco feos.
 
Soluciones actuales paraSoluciones actuales para
limpiar datoslimpiar datos
OptimusOptimus
Optimus is the missing framework for cleaning and pre-processing
data in a distributed fashion. It uses all the power of Apache Spark
(optimized via Catalyst) to do so. It implements several handy tools
for data wrangling and munging that will make your life much easier.
The first obvious advantage over any other public data cleaning
library or framework is that it will work on your laptop or your big
cluster, and second, it is amazingly easy to install, use and
understand.
https://github.com/ironmussa/Optimus
https://hioptimus.com
OptimusOptimus
Características:Características:
Fácil de instalar, usar e implementar.
Utiliza Python y PySpark.
Funciona en tu computadora portátil o
clúster.
DFTransformer con excelentes métodos
para la limpieza de datos y disputas.
DFAnalyzer con excelentes métodos para
visualizar datos y comprender.
Métodos para feature engineering
(realmente fáciles de usar).
Machine Learning con Spark (fácil e
igualmente rápido). Trabajo en progreso.
DemoDemo

Más contenido relacionado

Similar a Taller: Limpieza y preparación de datos con Optimus y Apache Spark

Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Abel Alejandro Coronado Iruegas
 
Apache Spark y Big Data
Apache Spark y Big DataApache Spark y Big Data
Apache Spark y Big DataSoftware Guru
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
 
Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetupdhiguero
 
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014Stratio
 
Big Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesBig Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesJuan José Domenech
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache SparkGustavo Arjones
 
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
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big DataStratebi
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache SparkSocialmetrix
 
Jornada en enpresa digitala: Mitos y Realidades del Big Data
Jornada en enpresa digitala: Mitos y Realidades del Big DataJornada en enpresa digitala: Mitos y Realidades del Big Data
Jornada en enpresa digitala: Mitos y Realidades del Big DataUrko Zurutuza
 
Introducción al procesamiento del Big Data
Introducción al procesamiento del Big DataIntroducción al procesamiento del Big Data
Introducción al procesamiento del Big DataTomás Fernández Pena
 

Similar a Taller: Limpieza y preparación de datos con Optimus y Apache Spark (20)

¿Qué es big data?
¿Qué es big data?¿Qué es big data?
¿Qué es big data?
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014
 
OpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: SparkOpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: Spark
 
Apache Spark y Big Data
Apache Spark y Big DataApache Spark y Big Data
Apache Spark y Big Data
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
 
Big data lead colmex
Big data lead colmexBig data lead colmex
Big data lead colmex
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetup
 
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014
Primeros pasos con Spark - Spark Meetup Madrid 30-09-2014
 
Spark meetup barcelona
Spark meetup barcelonaSpark meetup barcelona
Spark meetup barcelona
 
Big Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesBig Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patrones
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache Spark
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
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...
 
Que es big data huejutla uaeh
Que es big data huejutla uaehQue es big data huejutla uaeh
Que es big data huejutla uaeh
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big Data
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Taller de Big Data y Ciencia de Datos en COLMEX dia 1
Taller de Big Data y Ciencia de Datos en COLMEX dia 1 Taller de Big Data y Ciencia de Datos en COLMEX dia 1
Taller de Big Data y Ciencia de Datos en COLMEX dia 1
 
Jornada en enpresa digitala: Mitos y Realidades del Big Data
Jornada en enpresa digitala: Mitos y Realidades del Big DataJornada en enpresa digitala: Mitos y Realidades del Big Data
Jornada en enpresa digitala: Mitos y Realidades del Big Data
 
Introducción al procesamiento del Big Data
Introducción al procesamiento del Big DataIntroducción al procesamiento del Big Data
Introducción al procesamiento del Big Data
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 

Último (20)

HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 

Taller: Limpieza y preparación de datos con Optimus y Apache Spark

  • 1. Ciencia de Datos con Apache Spark y OptimusCiencia de Datos con Apache Spark y Optimus Favio Vázquez Data Scientist @faviovaz https://github.com/faviovazquez https://www.linkedin.com/in/faviovazquez/ March 15th, 2018
  • 2. Esquema 1. Introducción a Apache Spark y1. Introducción a Apache Spark y OptimusOptimus Fundamentos de Spark Fundamentos de Optimus 2. Data Science con Spark y2. Data Science con Spark y OptimusOptimus Limpieza, Exploración y Preparación de Datos con Spark y Optimus Introducción a Machine Learning con Spark y Optimus.
  • 5. 2004 – Google MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat   2006 – Apache Hadoop, originating from the Nutch Project Doug Cutting   2008 – Yahoo web scale search indexing Hadoop Summit, HUG, etc.   2009 – Amazon AWS Elastic MapReduce Hadoop modified for EC2/S3, plus support for Hive, Pig, Cascading, etc. research.google.com/archive/mapreduce.html research.yahoo.com/files/cutting.pdf developer.yahoo.com/hadoop/ aws.amazon.com/elasticmapreduce/
  • 6. ¿Qué es complicado¿Qué es complicado en Big Data?en Big Data? La combinación compleja de hilos de ejecución, sistemas de almacenamiento  y modos de trabajo. ETL, agregaciones, machine learning, streaming, etc. Muy complicado obtener productividad y performance
  • 7. ¿Qué es?¿Qué es? Es un motor general y muy rápido para el procesamiento en paralelo de datos en gran escala.
  • 8. Motor UnificadoMotor Unificado APIs de alto nivel conAPIs de alto nivel con espacio para optimizar espacio para optimizar  Expresa todo el workflow con una API Conecta librerías existentes y sistemas de almacenamiento
  • 9. RDDRDD Transformaciones Acciones Caché DatasetDataset Tipado Scala y Java Beneficios de RDD DataframeDataframe Dataset[Row] Optimizado Versátil
  • 11. SparkContextSparkContext Un programa Spark crea primero un objeto SparkContext  que le indica a Spark cómo y dónde acceder a un clúster.  El shell PySpark y Optimus crean automáticamente la variable sc. iPython y los programas deben usar un constructor para crear un nuevo SparkContext 
  • 12. RDDsRDDs Los Resilient Distributed Datasets (RDD) son una colección distribuida de objetos JVM inmutables que permiten realizar cálculos muy rápidamente, y son la columna vertebral de Apache Spark.
  • 17. DataFramesDataFrames data.map(lambda x: (x.rooms, [x.age,1]) .reduceByKey(lambda x, y: [x[0] + y[0], x[1] + y[1]]) .map(lambda x: x[0], x[1][0] / x[1][1]) .collect() GroupBy y AVG con RDDs GroupBy y AVG con DataFrames data.groupBy("rooms").avg("age")
  • 19.
  • 20.
  • 21.
  • 22. ¿Por qué? Los datos sucios cuestan $3 trilliones+ por año Las compañías pierden 12% de revenue Malos Modelos
  • 23. ¿Por qué? Encuesta Kaggle 16000 DS.Encuesta Kaggle 16000 DS. Problemas.Problemas.
  • 24. Problemas Los Datos están suciosLos Datos están suciosFact of the day:
  • 25. Problems Difíciles de usar y entender. La mayoría de ellos tienen su propio lenguaje. No son adecuados para Big Data. SampleClean no continuado y nada fácil de usar. Mala integración con Machine Learning. Atascados en la limpieza. Mal documentado. Un poco feos.   Soluciones actuales paraSoluciones actuales para limpiar datoslimpiar datos
  • 26. OptimusOptimus Optimus is the missing framework for cleaning and pre-processing data in a distributed fashion. It uses all the power of Apache Spark (optimized via Catalyst) to do so. It implements several handy tools for data wrangling and munging that will make your life much easier. The first obvious advantage over any other public data cleaning library or framework is that it will work on your laptop or your big cluster, and second, it is amazingly easy to install, use and understand. https://github.com/ironmussa/Optimus https://hioptimus.com
  • 27. OptimusOptimus Características:Características: Fácil de instalar, usar e implementar. Utiliza Python y PySpark. Funciona en tu computadora portátil o clúster. DFTransformer con excelentes métodos para la limpieza de datos y disputas. DFAnalyzer con excelentes métodos para visualizar datos y comprender. Métodos para feature engineering (realmente fáciles de usar). Machine Learning con Spark (fácil e igualmente rápido). Trabajo en progreso.