0% encontró este documento útil (0 votos)
15 vistas25 páginas

S02 ApacheSpark

Apache Spark es un sistema de computación en clúster que permite dividir o paralelizar el trabajo entre máquinas. Proporciona APIs de alto nivel para desarrollar aplicaciones en Java, Scala, Python y R. Sus componentes como Spark Streaming, Spark SQL, MLlib y GraphX resuelven problemas de Hadoop MapReduce y permiten un manejo más rápido de datos.

Cargado por

Sandra Infante
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas25 páginas

S02 ApacheSpark

Apache Spark es un sistema de computación en clúster que permite dividir o paralelizar el trabajo entre máquinas. Proporciona APIs de alto nivel para desarrollar aplicaciones en Java, Scala, Python y R. Sus componentes como Spark Streaming, Spark SQL, MLlib y GraphX resuelven problemas de Hadoop MapReduce y permiten un manejo más rápido de datos.

Cargado por

Sandra Infante
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

BIG DATA

TECHNOLOGIES
Apache Spark es un sistema de computación que se basa en Hadoop Map Reduce y que, principalmente, permite
dividir o paralelizar el trabajo, ya que normalmente se instala en un clúster de máquina. La idea es que
tengamos N máquinas, por ejemplo diez máquinas, y cada una de esas instancias va a tener instalada una versión
de Apache Spark.

Apache Spark es un sistema de computación en clúster muy veloz. Proporciona el conjunto de API de alto
nivel, a saber, Java, Scala, Python y R para el desarrollo de aplicaciones.
Historia
Apache
Spark
Apache
Spark
Apache
Spark
Componentes
La garantía de Apache Spark para un manejo más rápido de la información y también un avance
más simple es posible solo gracias a los componentes de Apache Spark. Todos resolvieron los
problemas que ocurrieron al utilizar Hadoop MapReduce
Spark Streaming Spark SQL MLlib (Machine
Spark Streaming utiliza la Spark SQL es un segmento sobre Learning Library)
capacidad de programación rápida Spark Core que presenta otra MLlib es una estructura de
de Spark Core para realizar abstracción de información llamada aprendizaje automático distribuido
Streaming Analytics. Ingiere SchemaRDD, que ofrece ayuda para por encima de Spark en vista de la
información en grupos a escala sincronizar información estructurada arquitectura Spark basada en
reducida y realiza cambios de y no estructurada. memoria distribuida. Spark MLlib es
RDD (Conjuntos de datos nueve veces más rápido que la
distribuidos resistentes) en esos versión del disco Hadoop de Apache
grupos de información a pequeña Mahout (antes de que Mahout
escala. adquiriera una interfaz de Spark).

GraphX
GraphX es un marco distribuido de procesamiento de Apache Spark Core
gráficos de Spark. Proporciona una API para comunicar el Spark Core es el motor de ejecución general básico para la
cálculo del gráfico que puede mostrar los diagramas plataforma Spark en el que se basan todas las demás
caracterizados por el cliente utilizando la API de abstracción funcionalidades. Proporciona registro en memoria y
de Pregel. Asimismo, proporciona un tiempo de ejecución conjuntos de datos conectados en marcos de
optimizado y mejorado a esta abstracción. almacenamiento externos.
Spark Streaming
Spark SQL
Spark MLlib
Spark GraphX
Características y Ventajas
• Rápido en el procesamiento de datos, 10 veces más
rápido en el disco y 100 veces más rápido en la
memoria.
• Spark with abstraction-RDD proporciona Fault
Tolerance con garantía de pérdida de datos cero.
• Compatibilidad con múltiples idiomas a saber, Java, R,
Scala, Python para aplicaciones de construcción.
• Procesamiento en memoria que resulta en una alta
velocidad de cálculo y flujo de datos a cíclico.
• Procesamiento de flujo de datos en tiempo real con
Spark Streaming.
• Flexible para funcionar Independientemente y puede
ser integrado con Hadoop Yarn Cluster Manager.
• Rentable para Big data como necesidad mínima de
almacenamiento y centro de datos.
• GraphX simplifica Graph Analytics mediante la
recopilación de algoritmos y constructores
• Comunidad de Apache progresiva y en expansión
activa para Asistencia rápida.
Facilidad de Costo
uso s
Apache Spark Ambos son proyectos de Apache,
Conocido por su facilidad de lo que significa que son productos
uso, ya que viene con API de software libre y de código
fáciles de usar para Scala, abierto. Los 2 productos están
Java, Python y Spark SQL. diseñados para funcionar en
Cuenta con un modo hardware básico.
interactivo para que tanto MapReduce utiliza cantidades
los desarrolladores como estándar de memoria porque su
los usuarios puedan tener procesamiento está basado en disco,
comentarios inmediatos por lo que una empresa tendrá que
sobre consultas y otras comprar discos más rápidos y
acciones. mucho espacio en disco para
Hadoop MapReduce ejecutar MapReduce. Los
No cuenta con un modo sistemas Spark cuestan más
interactivo, sin embargo, los debido a las grandes cantidades de
complementos como Hive y RAM que se necesita para ejecutar
Pig hacen que trabajar con todo en la memoria. Pero la ventaja
MapReduce sea un poco más es que la tecnología de Spark
fácil para los adoptantes. disminuye la cantidad de sistemas
requeridos.
Rendimiento Seguridad
Apache Spark: Apache Spark
• Trabaja in memory y todos los Es un poco escasa al admitir
procesos se aceleran. actualmente solo la autenticación
• Necesita una mayor memoria a través de un secreto
de almacenamiento compartido. La bonificación de
• Su rendimiento puede verse seguridad que Spark puede
mermado debido a la necesidad de disfrutar es que si ejecuta Spark
utilizar aplicaciones pesadas. en HDFS, puede usar ACL de
Hadoop Map Reduce HDFS y permisos de nivel de
• Los datos están en disco y eso archivo. Además, Spark puede
hace que todo resulte más lento. ejecutarse en YARN dándole la
• La ventaja es que, en capacidad de usar la
comparación con la otra autenticación Kerberos.
alternativa, las necesidades de
almacenamiento son inferiores. Hadoop Map Reduce
• Al ocuparse de eliminar los datos Admite listas de control de
cuando no son ya necesarios, no acceso (ACL) y un modelo de
produce pérdidas de rendimiento permisos de archivos tradicional.
significativas para aplicaciones Para el control del usuario en el
pesadas. envío de trabajos, Hadoop
proporciona la Autorización de
nivel de servicio, lo que garantiza
que los clientes tengan los permisos
adecuados.
Qué es un
RDD
Transformaciones con RDD
Transformaciones con RDD
Acciones con RDD
Qué es un
DataSet
Un DataSet es una colección de datos
distribuidos que tienen ya una estructura, a
diferencia de los RDD, que son conjuntos de
datos desestructurados.

Características

• Aparecen a partir de la versión de Spark


1.6.
• Poseen los beneficios de los RDD.
• Nos proporciona una API tanto para
trabajar con Java como con Scala.
• No nos proporciona API para Python
porque Python pasa directamente a los
DataFrame.
Qué es un
DataFrame
Un DataFrame es un DataSet que a la vez está organizado en columnas.
Vamos a tener los datos estructurados y cada columna con su nombre correspondiente, con lo que
nos va a resultar mucho más sencillo consultar, modificar o transformar ese conjunto de datos.
Qué es un
DataFrame
Qué es un
SparkSession
Una SparkSession es el objeto principal o la base a partir de la cual cuelga toda la funcionalidad de Apache
Spark.
Es similar al SparkContext de los RDD, pero en este caso, para trabajar con SparkSQL, los DataFrame y DataSet.

Tiene este constructor:


val spark = SparkSession.builder()

Al que se le pueden añadir una serie de parámetros o de nuevas funciones para añadir un nombre,
indicar la cantidad de memoria y otros muchos aspectos de configuración.
Trabajando con Databricks Cloud
¿Preguntas?

También podría gustarte