sql >> Base de Datos >  >> RDS >> Database

Enciéndete con Apache Spark – Parte 2

Gracias por tu tiempo; Definitivamente trato de valorar el tuyo. En la parte 1, discutimos sobre las bibliotecas de Apache Spark, los componentes de Spark como Driver, DAG Scheduler, Task Scheduler y Worker. Ahora, en la Parte 2, analizaremos los conceptos básicos de Spark como conjuntos de datos distribuidos resistentes, variables compartidas, SparkContext, transformaciones, acciones y ventajas de usar Spark junto con ejemplos y cuándo usar Spark.

RDD:conjuntos de datos distribuidos resistentes

Son colecciones de elementos serializables y dicha colección se puede particionar, en cuyo caso se almacena en varios nodos.

Puede residir en la memoria o en el disco.

Spark usa RDD para reducir la E/S y mantener los datos procesados ​​en la memoria

RDD ayuda a tolerar fallas de nodos y no necesita reiniciar todo el proceso o la computación

Por lo general, se crea a partir del formato de entrada de Hadoop o de la transformación aplicada en los RDD existentes.

Los RDD almacenan su linaje de datos; si se pierden datos, Spark reproduce el linaje para reconstruir los RDD perdidos.

Los RDD son inmutables.

Variables compartidas

Spark tiene dos tipos de variables que permiten compartir información entre los nodos de ejecución.

Dos variables son variables de transmisión y acumuladoras.

Todas las variables de difusión se envían a los nodos de ejecución remota, de forma similar a los objetos de configuración de MapReduce.

Todos los acumuladores también se envían a los nodos de ejecución remota, con la limitación de que solo podemos agregar a las variables del acumulador, de forma similar a los contadores de MapReduce.

Contexto de Spark

Es un objeto que representa la conexión a un clúster de Spark.

Se utiliza para crear RDD, transmitir datos e inicializar acumuladores.

Transformaciones

Son funciones que toman un RDD y devuelven otro.

Las transformaciones nunca modificarán su entrada, solo devuelve el RDD modificado.

Siempre es perezoso, por lo que no calculan sus resultados. En lugar de llamar a una función de transformación, solo crea un nuevo RDD.

Todo el conjunto de transformaciones mencionadas anteriormente se ejecutan cuando se llama a una acción.

Hay muchas transformaciones en Spark:map(), filter(), KeyBy(), Join(), groupByKey(), sort().

 Acción

Las acciones son métodos que toman un RDD y realizan cálculos y devuelven el resultado a la aplicación del controlador.

La acción desencadena el cálculo de transformaciones y los resultados pueden ser una colección, valores en la pantalla, valores guardados en un archivo.

La acción nunca devolverá un RDD.

Beneficios

  • Simplicidad
  • Versatilidad
  • E/S de disco reducida
  • Almacenamiento
  • Multilenguaje
  • Independencia del administrador de recursos
  • Concha interactiva (REPL)

Spark, al igual que otras herramientas de big data, es poderosa, capaz y adecuada para abordar una variedad de desafíos de análisis y big data.

Este artículo apareció originalmente aquí. Republicado con permiso. Envíe sus quejas de derechos de autor aquí.