Favio Vázquez
Data Scientist
@faviovaz
March 15th, 2018
Esquema
Fundamentos de Spark
Fundamentos de Optimus
Limpieza, Exploración y Preparación de Datos con Spark y Optimus
Introducción a Machine Learning con Spark y Optimus.
2004 – Google
MapReduce: Simplified Data Processing on Large Clusters
Jeffrey Dean and Sanjay Ghemawat research.google.com/archive/mapreduce.html
2006 – Apache
Hadoop, originating from the Nutch Project
Doug Cutting research.yahoo.com/files/cutting.pdf
2008 – Yahoo
web scale search indexing
Hadoop Summit, HUG, etc. developer.yahoo.com/hadoop/
2009 – Amazon AWS
Elastic MapReduce
Hadoop modified for EC2/S3, plus support for Hive, Pig, Cascading, etc. aws.amazon.com/elasticmapreduce/
La combinación compleja de hilos de ejecución, sistemas de almacenamiento y modos de trabajo.
Muy complicado obtener productividad y performance
Es un motor general y muy rápido para el procesamiento en paralelo de datos en gran escala.
Transformaciones
Acciones
Caché
Tipado
Scala y Java
Beneficios de RDD
Dataset[Row]
Optimizado
Versátil
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.
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()
data.groupBy("rooms").avg("age")
Optimización
¿Por qué?
Los datos sucios cuestan $3 trilliones+ por año
Las compañías pierden 12% de revenue
Malos Modelos
¿Por qué?
Problemas
Fact of the day:
Problems
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.