6 fundamentos de Spark Stack

Autor: | Última modificación: 8 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Los seis fundamentos de Spark Stack son de suma importancia, puesto que se instauran como parte de la arquitectura del sistema de computación de Apache Spark. De manera que, si lo que buscas es profundizar en esta área del procesamiento de los macrodatos, ¡este post es ideal para ti!

Este conocimiento es una forma de aprender cómo funciona el procesamiento de los datos desde el desarrollo de la arquitectura de Apache Spark. Por esta razón, en el presente post, te presentamos cuáles son los seis fundamentos de Spark Stack y su importancia dentro del sistema Apache Spark.

¿Qué es Spark Stack?

Spark Stack es el sistema informático de la arquitectura de Apache Spark que posee una gran variedad de componentes con los que se desarrolla. Su principal objetivo radica en que dichos componentes logren potenciarse por medio del motor central del sistema.

¿Cuáles son los 6 fundamentos de Spark Stack?

Los fundamentos de Spark Stack son las bases a través de las que se desarrolla el procesamiento de los datos a partir del motor central. A continuación, te exponemos cuáles son los seis fundamentos de Spark Stack dentro de la arquitectura de Apache Spark:

Spark Core

En español, se traduce como corazón de Spark. Es la API (Interfaz de aplicación) para el procesamiento en batch. Esta API es la base para la construcción de todas las APIs y contiene la base de gestiones de recursos, clústeres y la interacción con los datos.

Por otra parte, Spark Core posee las funciones de textFile/wholeTextFiles, lo que permite que:

  • Apache Spark cree dataset desde cualquier almacenamiento soportado por Hadoop: Sistema local de ficheros, HDFS, Cassandra, Hbase, Amazon S3, Google Storage, Azure File System, etc.
  • Spark soporte ficheros de texto, secuencias y cualquier formato soportado por Hadoop InputFormat.
  • Los ficheros puedan leerse usando el SparkContext.
6 fundamentos de Spark Stack 1

Spark SQL

Es la API de Spark que permite trabajar con datos estructurados y semiestructurados. Además, permite realizar consultas SQL sobre los datos.

Por otra parte, existen varias formas para trabajar con Spark SQL como:

  • Dataframe: conjunto de datos organizados en columnas. Es equivalente a una tabla relacional. Estos pueden construirse desde ficheros estructurados, tablas en Hive, base de datos externas, o RRDs existentes, Scala, Java, Python, R, etc.
  • Dataset: conjunto de datos distribuidos que permiten usar Spark SQL con los beneficios de los RDDs: tipado fuerte, transformaciones funcionales, etc.
  • SQL: lenguaje con sintaxis SQL.

Spark Streaming

Es el procesamiento de datos en streaming. Utiliza conceptos de microbatches con latencia de milisegundos.

Spark Structured Streaming

Es la evolución del motor de Spark SQL para funcionar con streaming y trabajar en SQL sobre flujos de datos en tiempo real, de manera que consigue el exactly-one-semantics y la latencia inferior a milisegundos.

Además, este es uno de los fundamentos de Spark Stack, puesto que permite expresar el procesamiento en streaming, al igual que se hace con el procesamiento en batch.

Spark Mlib

Spark MLlib es una librería que forma parte de los fundamentos de Spark Stack. Te permite hacer jobs y usar los algoritmos de Machine Learning en modo distribuido. En suma, este framework proporciona:

  • ML Algortihms: clasificación, regresión, clusterizado y filtros colaborativos.
  • Featurization: extracción de features, transformaciones, reducción de dimensiones.
  • Pipelines: herramientas para construir, evaluar y tunear modelos de ML.
  • Persistence: salvar y guardar modelos y pipelines.
  • Utilidades: trabajar con datos, estadísticas, álgebra lineal, etc.

Spark GraphX

Este proporciona el procesamiento de grafos distribuidos dentro de la arquitectura de Apache Spark. Para ello, debes saber que un grafo se compone de vertex y edge. Además, este es uno de los fundamentos de Spark Stack, ya que te permite trabajar con:

  • Vértices: vértices existentes.
  • Edges: relaciones existentes.
  • Triplets: relación entre dos vértices y su edge.
6 fundamentos de Spark Stack 2

¿Cómo aprender más sobre el Big Data?

En el desarrollo de este post, has podido familiarizarte con los seis fundamentos de Spark Stack como parte del sistema de computación Apache Spark dentro del mundo del procesamiento Big Data. No obstante, como has podido notar, este proceso requiere de varias consideraciones, por lo que te recomendamos estudiar su teoría en profundidad y llevarlo a la práctica cuanto antes.

La mejor opción para ello es el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp de KeepCoding. Por medio de este bootcamp, podrás aprenderlo todo sobre las herramientas y metodologías más populares para aplicar los procesos de Modern Exploration & Visualization, Data Mining, Machine Learning, Deep Learning o Inteligencia Artificial, entre otros. Todo ello, desde los fundamentos teóricos hasta la práctica efectiva. No te quedes atrás, ¡solicita información y apúntate ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!