6 fundamentos de Spark Stack

| Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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.

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.

¿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!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado