Descripción general de los componentes de chispa

Imagine que tiene 1000 tareas a mano y muy poco tiempo para terminarlas todas. Alguien le ofrece ayuda al proporcionar recursos que pueden quitar algunas tareas de su mano y hacerlas en paralelo con usted para que todas las tareas se completen a tiempo. Que alguien es Spark para ti en un sentido informático. Apache Spark es un marco de cómputo de clúster distribuido y de código abierto para Big Data y proporciona un enfoque optimizado para realizar análisis en grandes conjuntos de datos. Funciona 100 veces más rápido que Hadoop y proporciona diferentes bibliotecas para diferentes propósitos, como realizar operaciones SQL, ML, Streaming, procesamiento de gráficos, etc. A continuación veremos los diferentes componentes de la chispa en detalle.

Componentes principales de chispa

Actualmente, tenemos 6 componentes en Spark Ecosystem que son Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​y SparkR. Veamos qué hace cada uno de estos componentes.

1. Spark Core

Spark Core es, como su nombre indica, la unidad central de un proceso de Spark. Se encarga de la programación de tareas, recuperación de fallas, gestión de memoria y operaciones de entrada-salida, etc. Piense en ello como algo similar a la CPU de una computadora. Es compatible con lenguajes de programación como Java, Scala, Python y R y proporciona API para los respectivos idiomas con los que puede construir su trabajo ETL o hacer análisis. Todos los demás componentes de Spark tienen sus propias API que están construidas sobre Spark Core. Debido a sus capacidades de procesamiento paralelo y computación en memoria, Spark puede manejar cualquier tipo de carga de trabajo.

Spark Core viene con un tipo especial de estructura de datos llamada RDD (conjunto de datos distribuidos resilientes) que distribuye los datos en todos los nodos dentro de un clúster. Los RDD funcionan en un paradigma de evaluación diferida donde el cálculo se memoriza y solo se ejecuta cuando es necesario. Esto ayuda a optimizar el proceso al computar solo los objetos necesarios.

2. Spark SQL

Si ha trabajado con bases de datos, comprende la importancia de SQL. ¿No sería extremadamente abrumador si el mismo código SQL funciona N veces más rápido incluso en un conjunto de datos más grande? Spark SQL te ayuda a manipular datos en Spark usando SQL. Admite conexiones JDBC y ODBC que establecen una relación entre los objetos Java y las bases de datos, almacenes de datos y herramientas de inteligencia empresarial existentes. Spark incorpora algo llamado Dataframes que es una colección estructurada de datos en forma de columnas y filas.

Spark le permite trabajar en estos datos con SQL. Los marcos de datos son equivalentes a las tablas relacionales y se pueden construir a partir de bases de datos externas, archivos estructurados o RDD ya existentes. Los marcos de datos tienen todas las características de RDD, tales como inmutable, resistente, en memoria pero con una característica adicional de ser estructurado y fácil de trabajar. Dataframe API también está disponible en Scala, Python, R y Java.

3. Spark Streaming

La transmisión de datos es una técnica en la que se procesa una transmisión continua de datos en tiempo real. Requiere un marco que ofrezca baja latencia para el análisis. Spark Streaming proporciona eso y también una API de alto rendimiento, tolerante a fallas y escalable para procesar datos en tiempo real. Se abstrae en el flujo discreto (DStream) que representa un flujo de datos dividido en pequeños lotes. DStream se basa en RDD, por lo que Spark Streaming funciona a la perfección con otros componentes de chispa. Algunos de los usuarios más notables de Spark.

La transmisión es Netflix, Pinterest y Uber. Spark Streaming se puede integrar con Apache Kafka, que es una plataforma de desacoplamiento y almacenamiento en búfer para flujos de entrada. Kafka actúa como el centro central para las transmisiones en tiempo real que se procesan utilizando algoritmos en Spark Streaming.

4. Spark MLLib

La atracción principal de Spark es ampliar el cálculo de forma masiva y esta característica es el requisito más importante para cualquier proyecto de Machine Learning. Spark MLLib es el componente de aprendizaje automático de Spark que contiene algoritmos de aprendizaje automático tales como clasificación, regresión, agrupamiento y filtrado colaborativo. También ofrece un lugar para extracción de características, reducción de dimensionalidad, transformación, etc.

También puede guardar sus modelos y ejecutarlos en conjuntos de datos más grandes sin tener que preocuparse por los problemas de tamaño. También contiene utilidades para álgebra lineal, estadísticas y manejo de datos. Debido al procesamiento en memoria de Spark, la tolerancia a fallas, la escalabilidad y la facilidad de programación, con la ayuda de esta biblioteca puede ejecutar algoritmos ML iterativos fácilmente.

5. GraphX

Graph Analytics es básicamente determinar las relaciones entre objetos en un gráfico, por ejemplo, la distancia más corta entre dos puntos. Esto ayuda a optimizar la ruta. La API Spark GraphX ​​ayuda en la computación gráfica y gráfica paralela. Simplifica el análisis gráfico y lo hace más rápido y más confiable. Una de las principales y conocidas aplicaciones de análisis gráfico es Google Maps.

Descubre la distancia entre dos ubicaciones y ofrece una sugerencia de ruta óptima. Otro ejemplo pueden ser las sugerencias de amigos de Facebook. GraphX ​​funciona con gráficos y cálculos. Spark ofrece una variedad de algoritmos gráficos como rango de página, componentes conectados, propagación de etiquetas, SVD ++, componentes fuertemente conectados y recuento de triángulos.

6. SparkR

R es el lenguaje estadístico más utilizado que comprende más de 10, 000 paquetes para diferentes propósitos. Utilizó API de marcos de datos, lo que hace que sea conveniente trabajar con ellos y también proporciona visualizaciones potentes para que los científicos de datos analicen sus datos a fondo. Sin embargo, R no admite el procesamiento en paralelo y está limitado a la cantidad de memoria disponible en una sola máquina. Aquí es donde entra SparkR en la imagen.

Spark desarrolló un paquete conocido como SparkR que resuelve el problema de escalabilidad de R. Se basa en marcos de datos distribuidos y también proporciona la misma sintaxis que el motor de procesamiento distribuido de R. Spark y la incomparable interactividad, paquetes y visualización de R se combinan para brindar a los científicos de datos lo que ellos quieren para sus análisis.

Conclusión

Dado que Spark es un marco de uso general, se encuentra en una amplia gama de aplicaciones. Spark se está utilizando ampliamente en la mayoría de las aplicaciones de big data debido a su rendimiento y confiabilidad. Todos estos componentes de Spark se actualizan con nuevas características en cada nueva versión y nos hacen la vida más fácil.

Artículos recomendados

Esta es una guía de componentes de chispa. Aquí discutimos la descripción general y los 6 componentes principales de spark con una explicación detallada. También puede consultar los siguientes artículos para obtener más información:

  1. Las 5 alternativas más importantes para la colmena
  2. Talend Open Studio Componentes / Herramientas
  3. Los 6 principales componentes del ecosistema IoT
  4. ¿Qué es la integración de datos de Talend con beneficios?

Categoría: