www.sgcampus.com.mx @sgcampus
www.sgcampus.com.mx
@sgcampus
Hector Cuesta
Apache Spark y BigData
www.sgcampus.com.mx @sgcampus
• Maestro en Ciencias de la Computación
• Autor del libro Practical Data Analysis
http://amzn.to/1k69HWn
• Estancia de Investigación en el Laboratorio de
Epidemiologia Computacional de la Universidad
del Norte de Texas (2011)
• Investigador Invitado en el SDSC 2012 Summer
Institute: Discover Big Data, Universidad de
California
• Revisor Técnico de los libros:
Raspberry Pi Networking Cookbook
Raspberry Pi Robotic Projects
Hadoop Operations and Cluster Management
Acerca del Ponente
www.sgcampus.com.mx @sgcampus
¿qué es big data?
“Cuando más es diferente”
www.sgcampus.com.mx @sgcampus
3 V’s del BigData
www.sgcampus.com.mx @sgcampus
Variedad
www.sgcampus.com.mx @sgcampus
Que es Spark?
Apache Spark es un motor para procesamiento distribuido
de datos a gran escala
• Procesamiento In-Memory
• Basado en Scala y con soporte para Python, Java y R
• Framework de procesamiento unificado
• Para Ingenieros y Data Scientist
www.sgcampus.com.mx @sgcampus
Componentes principales
RDD (Resilient Distributed Datasets)
• In-memory
• Tolerante a fallos
• Estructura de datos en paralelo
• Transformaciones
• Acciones
Task Scheduler
• Prepara los Jobs a través de DAG (Direct acyclic graph)
• Concatenación de funciones para ejecutar los stages
• Cache-aware, considera utilización & localización de datos
(data locality)
• Partitioning-aware para reducir shuffles por la red
www.sgcampus.com.mx @sgcampus
Ecosistema Spark
www.sgcampus.com.mx @sgcampus
Spark Core
Spark es Lazy no procesa nada entre transformaciones
hasta que se ejecuta una acción(TOP).
API Transformaciones y Acciones
www.sgcampus.com.mx @sgcampus
Runs Everywhere
Compatibilidad con prácticamente todas las fuentes
www.sgcampus.com.mx @sgcampus
Instalando Apache Spark
Descargar Spark from https://spark.apache.org/downloads.html
tar -xvzf spark-1.1.1.tar
cd spark-1.1.1
InstalandoApache Spark
sbt/sbt clean assembly
Ejecutar Spark
Scala shell:
./bin/spark-shell
Python shell:
./bin/pyspark
www.sgcampus.com.mx @sgcampus
Calcular Pi:
./bin/run-example org.apache.spark.examples.SparkPi
Ejemplos MLlib Correlations:
./bin/run-example org.apache.spark.examples.mllib.Correlations
Ejemplos
www.sgcampus.com.mx @sgcampus
Spark SQL
www.sgcampus.com.mx @sgcampus
Spark Streaming
www.sgcampus.com.mx @sgcampus
HDFS
• HDFS es un sistema de archivos distribuido, escalable y
portátil escrito en Java y creado especialmente para
trabajar con archivos de gran tamaño.
• Una de sus principales características es un tamaño de
bloque muy superior al habitual (100 MB) para no perder
tiempo en los accesos de lectura.
Sistema de Archivos que sigue el patrón
“Write once read many”
www.sgcampus.com.mx @sgcampus
Contando Palabras
www.sgcampus.com.mx @sgcampus

Apache Spark y Big Data