Introducción a Apache Spark

Completado

Apache Spark es un marco de procesamiento de datos distribuido que permite el análisis de datos a gran escala mediante la coordinación del trabajo en varios nodos de procesamiento en un clúster.

Funcionamiento de Spark

Las aplicaciones de Apache Spark se ejecutan como conjuntos de procesos independientes en un clúster, coordinados por el objeto SparkContext en el programa principal (denominado programa controlador). SparkContext se conecta al administrador de clústeres, que asigna recursos entre aplicaciones mediante una implementación de YARN de Apache Hadoop. Una vez que se conecta, Spark adquiere ejecutores en los nodos del clúster para ejecutar el código de la aplicación.

SparkContext ejecuta la función principal y las operaciones paralelas en los nodos del clúster y, después, recopila los resultados de las operaciones. Los nodos leen y escriben datos desde y en el sistema de archivos y almacenan en caché los datos transformados en memoria como conjuntos de datos distribuidos resistentes (RDD).

A diagram of Azure Synapse Apache Spark architecture.

SparkContext es responsable de convertir una aplicación en un grafo acíclico dirigido (DAG). El grafo consta de tareas individuales que se ejecutan en un proceso ejecutor en los nodos. Cada aplicación obtiene sus propios procesos ejecutores, que permanecen mientras dure la aplicación y ejecutan tareas en varios subprocesos.

Grupos de Spark en Azure Synapse Analytics

En Azure Synapse Analytics, un clúster se implementa como un grupo de Spark, que proporciona un entorno de ejecución para las operaciones de Spark. Puede crear uno o varios grupos de Spark en un área de trabajo de Azure Synapse Analytics mediante Azure Portal o en Azure Synapse Studio. Al definir un grupo de Spark, puede especificar opciones de configuración para el grupo, como las siguientes:

  • Un nombre para el grupo de Spark.
  • El tamaño de la máquina virtual (VM) que se usa para los nodos del grupo, incluida la opción de usar nodos habilitados para GPU aceleradas por hardware.
  • El número de nodos del grupo y si el tamaño del grupo es fijo o se pueden poner en línea dinámicamente nodos individuales para escalar automáticamente el clúster, en cuyo caso puede especificar el número mínimo y máximo de nodos activos.
  • La versión del entorno de ejecución de Spark que se va a usar en el grupo, que determina las versiones de los componentes individuales que se instalan, como Python, Java y otros.

Sugerencia

Para más información sobre las opciones de configuración del grupo de Spark, vea Configuraciones de grupos de Apache Spark en Azure Synapse Analytics en la documentación de Azure Synapse Analytics.

Los grupos de Spark de un área de trabajo de Azure Synapse Analytics no tienen servidor: se inician a petición y se detienen cuando están inactivos.