Glosario Apache Spark: 8 conceptos clave

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

Una de las tareas más importantes de un data scientist radica en tener un amplio conocimiento de los sistemas, lenguajes, procesos y herramientas para gestionar el Big Data, de manera que pueda reconocer cuál es la mejor opción según el interés del estudio.

Por ello, es importante aprender cómo funciona Apache Spark, un sistema de computación muy popular y demandado dentro del mundo Big Data. Por ello, en este post, te exponemos un breve glosario de ocho conceptos clave de Apache Spark para que lo conozcas mejor.

Spark Stack

Spark Stack es el sistema informático de la arquitectura de Apache Spark. 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. A continuación, te compartimos cuáles son estos factores fundamentales de esta parte de la arquitectura de Apache Spark: Spark Core, Spark SQL, Spark Streaming, Spark Structured Streaming, Spark Mlib y Spark GraphX.

Spark Core

Spark Core o Corazón de Spark, en español, es la API (Interfaz de aplicación) para el procesamiento en batch. En efecto, dicha API es la base para la construcción de todas las APIs y contiene la base de gestiones de los recursos, los clústeres y la interacción con los datos.

Spark SQL

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

  • Dataframe: conjunto de datos organizados en columnas. Es equivalente a una tabla relacional. Estos pueden construirse a través de 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

Spark Structured Streaming es un motor de streaming processing construido sobre el motor de SparkSQL. Su principal fin radica en que permite expresar el procesamiento en streaming, al igual que se logra con el procesamiento en batch.

Spark Mlib

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

  • ML Algortihmsclasificación, regresión, clusterizado y filtros colaborativos.
  • Featurizationextracción de features, transformaciones, reducción de dimensiones.
  • Pipelinesherramientas para construir, evaluar y tunear modelos de ML.
  • Persistencesalvar y guardar modelos y pipelines.
  • Utilidades: trabajar con datos, estadísticas, álgebra lineal…

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. Asimismo, este es uno de los fundamentos de Spark Stack.

Spark Shell

Spark Shell en Apache Spark consiste en que, en la distribución de este sistema, contiene un binario spark-shell. De manera que proporciona una REPL (Read Evaluate Print Loop o Bucle leer, ejecutar e imprimir) interactiva para trabajar con Apache Spark.

Aprende más del Big Data

En este post, has podido aprender ocho de los conceptos clave de Apache Spark para el manejo del Big Data. Aun así, desde KeepCoding sabemos que aún falta mucho por aprender.

Nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning es ideal para que alcances tus metas. En él, verás cómo el análisis exploratorio de datos es el primer paso que todo data scientist tiene que tomar. Para ello, es fundamental tener un buen conocimiento de estadística que te permita saber si ciertas variables tienen relación o no, o si varios grupos de datos se pueden considerar diferentes o iguales. Un buen análisis estadístico te proporcionará respuestas que pueden complementar algún modelo posterior de Machine Learning más complejo. ¿A qué estás esperando para empezar? ¡Apúntate ya!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

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