Ejecutor de Apache Spark para Ejecutar Tareas de Spark

Manténgase actualizado con las últimas tendencias tecnológicas
¡Únase a DataFlair en Telegram!!

Objective

En Apache Spark, algún agente distribuido es responsable de ejecutar tareas, este agente es lo que llamamos Ejecutor de Spark. Este documento apunta a todo el concepto de Ejecutor de Apache Spark. Además, veremos el método para crear instancia de ejecutor en Spark. Para aprender en profundidad, también veremos el método de tarea de lanzamiento en Spark Executor.

 Ejecutor de Apache Spark para ejecutar Tareas de Spark

Ejecutor de Apache Spark para ejecutar Tareas de Spark

Debe probar su Aprendizaje de Spark

Qué es Ejecutor de Spark

Básicamente, podemos decir que los Ejecutores en Spark son nodos de trabajo. Estos ayudan a procesar a cargo de ejecutar tareas individuales en un trabajo de Spark dado. Además, los lanzamos al inicio de una aplicación Spark. Luego, normalmente se ejecuta durante toda la vida útil de una aplicación. Tan pronto como hayan ejecutado la tarea, envía los resultados al controlador. Los ejecutores también proporcionan almacenamiento en memoria para los RDD de Spark que los programas de usuario almacenan en caché a través del Administrador de bloques.
Además, para la vida útil completa de una aplicación spark, se ejecuta. Eso infiere la asignación estática de ejecutor de Spark. Sin embargo, también podemos preferir la asignación dinámica.
Además, con la ayuda del hilo Remitente de latidos, envía métricas y latidos. Una de las ventajas es que podemos tener tantos ejecutores en Spark como nodos de datos. Además, también es posible tener tantos núcleos como pueda obtener del clúster. La otra forma de describir el ejecutor de Apache Spark es por su id, nombre de host, entorno (como SparkEnv) o ruta de clase.
El punto más importante a tener en cuenta es que los backends de Ejecutor administran exclusivamente Ejecutor en Spark.

Eche un vistazo a las principales certificaciones de Spark

 Controlador de mensajes de latido cardíaco del receptor-Ejecutor de Spark

Controlador de mensajes de latido cardíaco del receptor-Ejecutor de Spark

Condiciones para crear Ejecutor de Spark

:

  1. Cuando CoarseGrainedExecutorBackend recibe el mensaje de ejecutor registrado. Solo para Spark Standalone e HILO.
  2. Mientras Mesos’s MesosExecutorBackend se registró en Spark.
  3. Cuando se crea LocalEndpoint para el modo local.

Creando Instancia de Ejecutor de Spark

Mediante el uso de lo siguiente, podemos crear el Ejecutor de Spark:

  1. De la Identificación del Ejecutor.
  2. Usando SparkEnv podemos acceder al sistema de Metric locales, así como al administrador de bloques. Además, también podemos acceder al serializador local por él.
  3. Del nombre de host del ejecutor.
  4. Para agregar a la ruta de clases de las tareas, una colección de JARs definidos por el usuario. De forma predeterminada, está vacía.
  5. Por indicador si se ejecuta en modo local o en clúster (desactivado de forma predeterminada, es decir, se prefiere clúster)

Debe leer Spark SQL Features

Además, cuando la creación se realiza correctamente, los mensajes de información única aparecen en los registros. Esto es:
INFO Executor: Iniciando ID de ejecutor en el host

Heartbeater-Hilo de remitente de Heartbeat

Básicamente, con un solo hilo, heartbeater es un demonio ScheduledThreadPoolExecutor.
Llamamos a este grupo de subprocesos un controlador-heartbeater.

Lanzar tarea-Método launchTask

Al usar este método, ejecutamos la tarea input serializedTask simultáneamente.

 Ejecutor de Spark: Tareas de lanzamiento en Ejecutor Usando TaskRunners

Ejecutor de Spark: Tareas de lanzamiento en Ejecutor Usando TaskRunners

Revisemos el Algoritmo de Aprendizaje Automático de Spark

launchTask(context: ExecutorBackend,taskId: Long,attemptNumber: Int,taskName: String,serializedTask: ByteBuffer): Unit

Además, al usar launchTask, usamos para crear un Ejecutor de tareas internamente. Luego, con la ayuda de taskId, lo registramos en el registro interno de runningTasks. Después, lo ejecutamos en el grupo de subprocesos» Ejecutor de trabajo de lanzamiento de tareas».

Grupo de subprocesos»Ejecutor de trabajo de lanzamiento de tareas»: Propiedad ThreadPool

Básicamente, Para iniciar, por id de trabajo de lanzamiento de tareas. Utiliza el daemon ThreadPool en caché del grupo de subprocesos. Además, al mismo tiempo de creación de Spark Executor, se crea ThreadPool. Además, lo apaga cuando se detiene.

Debe leer acerca de la transmisión estructurada en SparkR

Conclusión

Como resultado, hemos visto, todo el concepto de Ejecutores en Apache Spark. Además, también hemos aprendido cómo los ejecutores de Spark son útiles para ejecutar tareas. La principal ventaja que hemos aprendido es que podemos tener tantos ejecutores como queramos. Por lo tanto, los Ejecutores ayudan a mejorar el rendimiento de Spark del sistema. Hemos cubierto cada aspecto sobre Apache Spark Executor anteriormente. Sin embargo, si se produce alguna consulta, no dude en preguntar en la sección de comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.