¿Cómo funciona Spark Core?

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

Algunos de nuestros reconocimientos:

Premios KeepCoding

Spark Core es uno de los componentes que pertenece a la arquitectura del sistema de computación más popular del mundo Big Data, Apache Spark. De hecho, es el corazón de Spark, por lo que conocer como funciona spark core y cómo influye en la gestión de datos en este sistema es de suma importancia.

Por ello, en este post, te traemos toda la información que necesitas para saber cómo funciona Spark Core dentro de la arquitectura de Apache Spark.

¿Qué es Spark Core?

Corazón de Spark, en español, es la API (Interfaz de aplicación) para el procesamiento en batch. 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.

¿Cómo funciona Spark Core?

En cuanto a cómo funciona Spark Core, este desenvolvimiento se presenta a partir de unos fundamentos específicos. A continuación, te compartimos cuáles son estos procesos por medio de los que se desarrolla Spark Core:

Base Project

Para empezar un proyecto de Spark, necesitas añadir sus dependencias en el proyecto de SBT en el IDE.

# spark cores

libraryDependencies += “org.apache.spark” %%
“spark-core” % “3.0.0”

Una vez tengas las dependencias, entonces podrás crear un objeto principal con un
método main, en el que crearás un nuevo contexto de Spark. A partir de este punto, podrás ejecutar en el play del IDE y ejecutar spark core api en modo local, usando la CPU de la máquina.

A continuación, puedes analizar un breve ejemplo:

6 fundamentos de Spark Stack 1

Spark-Shell

Por otra parte, Spark-Shell es necesario, puesto que la distribución de Spark contiene un
binario spark-shell.
De manera que este proporciona una PERL interactiva para trabajar con Apache Spark.

Ejecutar la shell es muy sencillo. En primer lugar, este arranca un clúster de Apache Spark en modo local usando cada uno de los cores disponibles de la máquina. A partir de allí, iniciará un sparkContext en la variable sc, como te mostramos ahora:

En suma, Spark-shell también te permite añadir ficheros jars de librería o de tu propio código fuente. Además, podrás descargar librerías externas usando maven. Su desarrollo sintáctico sería de la siguiente forma:

Parallelize

En cuanto a la función de Parallelize, Apache Spark permite distribuir datos a través del clúster y directamente desde el driver.

Así, los datos son distribuido en el clúster por particiones. De esta forma, Apache Spark decide cuántas particiones crea para cada una de las distribucione de datos. Esto lo logra basándose en el número de cores del clúster.

A pesar de ello, también podrás indicar específicamente el número de particiones que quieres en el procesamiento de los datos de esta forma:

Posteriormente, podrás comprobar el número de particiones de los datos como se muestra a continuación:

distData.partitions.size
distData20.partitions.size

Por último, también podrás mostrar la distribución de los datos por partición con el siguiente comando:

distData.foreachPartition(x => println(x.mkString(“,”)))

textFile/wholeTextFiles

Como último elemento de Spark Core, este posee las funciones de textFile/wholeTextFiles, lo que permite que:

  • Apache Spark cree dataset desde cualquier almacenamiento soportado por Hadoop, ya sea desde el 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.
  • Ls ficheros puedan leerse con el uso del SparkContext.

Sigue aprendiendo Big Data

Este proceso de aprendizaje depende del desarrollo práctico que lleves a cabo según el interés y propósito del procesamiento de los macrodatos. De manera que, aunque ya sabes qué es Spark Core, ¡aún queda mucho por aprender!

Por ello, desde KeepCoding te ofrecemos el Full Stack Big Data, Inteligencia Artificial & Machine Learning Bootcamp. En el transcurso del mismo, podrás aprenderlo todo sobre las herramientas Big Data. De hecho, conocerás, de forma teórica y práctica, las herramientas de regresión lineal y logística, los modelos lineales generalizados, el aprendizaje no supervisado, el clustering, los métodos jerárquicos y no jerárquicos… ¡Inscríbete y en menos de nueve meses serás un experto en el sector!

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