2. Agenda
- Acerca de mi
- ¿Qué es Apache Spark?
- Conceptos y arquitectura
- Ejemplos Básicos
- Preguntas y respuestas
Imagen extraida de Apache Spark Doc
3. ¿Qué es Apache Spark?
➔ Es un motor de cómputo unificado y
un conjunto de librerías para el
procesamiento paralelo de datos.
➔ Es el motor open source más
desarrollado para esta tarea.
➔ Soporta múltiples lenguajes de
programación.
➔ Corre donde sea, desde una laptop
hasta en un cluster con cientos de
servidores.
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018
4. El Problema
➔ Ley de Moore
➔ Esta tendencia se detuvo alrededor
del 2005
➔ Recolectar datos es extremadamente
barato
➔ Requiere de procesamientos largos y
paralelos
Imagen extraida de Tech Story
5. Historia
➔ UC Berkeley en 2009
➔ Spark: Cluster Computing with Working Sets, UC Berkeley AMPlab
➔ Cluster Computing - gran potencial
➔ MapReduce era desafiante e ineficiente al construir aplicaciones a larga
escala
➔ Functional Programming
➔ Eficiente intercambio de datos in-memory mediante pasos computados
➔ En 2013 - más de 100 contribuidores de más de 30 orgs
➔ Apache Software Foundation
9. SparkSession
La instancia de SparkSession es la manera en que Spark ejecuta manipulaciones
definidas por el usuarios en el cluster.
Distributed Collections of Data
➔ Datasets
➔ DataFrames
➔ SQL Tables
➔ Resilient Distributed Datasets (RDDs)
10. Transformations
➔ Las transformaciones son la forma abstracta de expresar la logica de negocio
(plan lógico) usando Spark.
➔ Partitions
➔ Lazy Evaluation
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018
11. Actions
➔ Las transformaciones nos permiten construir nuestro plan lógico de
transformación.
➔ Para desencadenar la computación, corremos una acción.
➔ Una acción ordena a Spark procesar un resultado de una serie de
transformaciones.
➔ Hay tres tipos de acciones:
◆ Acciones para ver datos en la consola
◆ Acciones para colectar datos en objetos nativos del lenguaje usado
◆ Acciones para escribir datos en destinos externos
12. Planeación Lógica
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018
13. SparkUI
➔ La SparkUI muestra información del estado de los Spark jobs, su ambiente y el
estado del cluster
➔ Es muy útil para debuggear y mejorar el desempeño
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018
15. Ejemplo Básico con RDDs
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018
16. Data Pipeline Básico con DataFrames
Imagen extraida de Spark: The Definitive Guide
by Matei Zaharia; Bill Chambers. Published by O'Reilly Media, Inc., 2018