¿Qué es Apache Spark?

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

Algunos de nuestros reconocimientos:

Premios KeepCoding

El desarrollo del Big Data cuenta con una gran variedad de herramientas que facilitan la tarea de destacar y estudiar el valor de los datos. Dentro de ellos, podrás encontrar el Apache Spark como parte del procesamiento Big Data.

En suma, qué es Apache Spark abarca una gran variedad de componentes para destacar el valor de los macrodatos. De manera que, en este post, te exponemos qué es Apache Spark y cómo se desarrolla dentro del mundo Big Data.

¿Qué es Apache Spark?

Para saber qué es Apache Spark hay que aclarar que es un sistema de computación basado en Hadoop Map Reduce. En efecto, este sistema consiste en permitir dividir y paralelizar los jobs, de manera que trabajan con datos de forma distribuida.

Por otra parte, uno de los aspectos más importantes de lo que es Apache Spark es que proporciona distintas APIs (Interfaz de programación de aplicaciones) para funcionar como:

  • Core.
  • SQL.
  • Streaming.
  • Graph.
  • Machine Learning.

Por otra parte, Apache Spark es un multilenguaje que se puede desarrollar en sistemas como:

  • Scala, Java, Lenguaje JVM.
  • Python.
  • R.

En suma, el framework de Spark desarrollado en Scala es la mejor opción. Los analistas de datos trabajan mucho en Python usando PySpark.

  • Arquitectura: Conceptos, Spark Stack.
  • Spark Core: spark-shell, RDD, Core API.
¿Qué es Apache Spark?

Arquitectura de Apache Spark

Apache Spark proporciona diversas formas de despliegue:

  • Local
  • Standalone
  • Hadoop YARN
  • Mesos
  • Kubernetes

También existen distribuciones o servicios que ayudan a su despliegue, gestión y uso:

  • Clouds: Amazon EMR, Azure HDInsight, Google DataProc.
  • Distribuciones: Cloudera/Horonworks, Databricks.
¿Qué es Apache Spark?
  • SparkContext: independientemente del backend que Spark use, su coordinación se realiza con el SparkContext.
  • Cluster Manager: comunicación del driver con el backend para adquirir recursos físicos y poder ejecutar los executors.
¿Qué es Apache Spark?
  • Driver: este es el proceso principal, controla toda la aplicación y ejecuta el SparkContext.
  • Worker Node: máquinas que dependen del backend y se encargan de ejecutar los procesos de los executors.
  • Executors: proceso que realizan la carga de trabajo, obtienen sus tareas desde el driver y cargan, transforman y almacenan datos.

Arquitectura: Spark Stack

  • Spark Core: corazón de Spark, API para 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 e interacción con datos.
  • Spark SQL: API de Spark que permite trabajar con datos estructurados y semiestructurados. Además, proporciona la función de realizar consultas SQL sobre los datos.
  • Spark Streaming: procesamiento de datos en streaming, utilizando concepto de microbatches, con latencia de milisegundos.
  • Spark Structured Streaming: evolución del motor de Spark SQL para funcionar con streaming y trabajar en SQL sobre flujos de datos en tiempo real, consiguiendo exactly-one-semantics y latencia inferiores a milisegundos.
  • Spark Mlib: framework que facilita el uso de algoritmos de machine learning sobre Spark. Por ejemplo, clasificaciones, regresiones, clustering, etc.
  • Spark GraphX: proporciona procesamiento de grafos distribuidos.

¿Cómo continuar aprendiendo Big Data?

En el desarrollo de este post, te hemos expuesto qué es Spark dentro del procesamiento del Big Data. Para ello, debes recordar que en el desarrollo de este sistema de computación podrás encontrar sus lenguajes y herramientas de apoyo, que también son de suma importancia en el mundo Big Data, como Scala, JAVA, etc.

Para prender más sobre cada uno de estos, desde KeepCoding te ofrecemos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Gracias a él, aprenderás todo lo necesario sobre el setup del entorno de programación mientras trabajas con lo que es Apache Spark a partir de la base (procesos de información textual), conteo de palabras, listas top N, operaciones con conjuntos… En suma, aprenderás sobre fuentes de datos múltiples, visualización de relaciones entre valores numéricos (diagramas de dispersión, regresión y clustering), de tipos de datos específicos, como geográficos o mapas de calor, etc. ¡Apúntate ahora y no esperes más para empezar!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

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