Apache Spark Executor per l’esecuzione di attività Spark

Rimani aggiornato con le ultime tendenze tecnologiche
Unisciti a DataFlair su Telegram!!

Objective

In Apache Spark, un agente distribuito è responsabile dell’esecuzione delle attività, questo agente è ciò che chiamiamo Spark Executor. Questo documento mira l’intero concetto di Apache Spark Executor. Inoltre, vedremo il metodo per creare istanza executor in Spark. Per saperne di più in profondità, vedremo anche il metodo launch task in Spark Executor.

Apache Spark Executor per l'esecuzione di attività Spark

Apache Spark Executor per l’esecuzione di attività Spark

Devi testare il tuo apprendimento Spark

Cos’è Spark Executor

Fondamentalmente, possiamo dire che gli esecutori in Spark sono nodi di lavoro. Quelli aiutano a elaborare il responsabile dell’esecuzione di singole attività in un determinato lavoro Spark. Inoltre, li lanciamo all’inizio di un’applicazione Spark. Quindi viene eseguito in genere per l’intera durata di un’applicazione. Non appena hanno eseguito l’attività, invia i risultati al driver. Gli esecutori forniscono anche l’archiviazione in memoria per gli RDD Spark memorizzati nella cache dai programmi utente tramite Block Manager.
Inoltre, per la durata completa di un’applicazione spark, viene eseguito. Ciò desume l’allocazione statica di Spark executor. Tuttavia, possiamo anche preferire l’allocazione dinamica.
Inoltre, con l’aiuto del thread Mittente Heartbeat, invia metriche e battiti cardiaci. Uno dei vantaggi che possiamo avere tanti esecutori in Spark quanti nodi di dati. Inoltre è anche possibile avere il maggior numero di core che puoi ottenere dal cluster. L’altro modo per descrivere Apache Spark Executor è il loro id, nome host, ambiente (come SparkEnv) o classpath.
Il punto più importante da notare è Executor backend gestire esclusivamente Executor in Spark.

Dai un’occhiata a top Spark Certificazioni

 heartbeat del ricevitore heartbeat message handler-Spark Executor

Heartbeat del ricevitore Heartbeat Message Handler – Spark Executor

Condizioni per creare Spark Executor

Alcune condizioni in cui creiamo Executor in Spark è:

  1. Quando CoarseGrainedExecutorBackend riceve il messaggio RegisteredExecutor. Solo per Spark Standalone e FILATO.
  2. Mentre MesosExecutorBackend di Mesos registrato su Spark.
  3. Quando viene creato LocalEndpoint per la modalità locale.

Creazione dell’istanza Spark Executor

Utilizzando quanto segue, possiamo creare l’Esecutore Spark:

  1. Da ID Esecutore.
  2. Utilizzando SparkEnv possiamo accedere al MetricsSystem locale e BlockManager. Inoltre, possiamo anche accedere al serializzatore locale da esso.
  3. Dal nome host dell’Esecutore.
  4. Per aggiungere al classpath delle attività, una raccolta di JAR definiti dall’utente. Per impostazione predefinita, è vuoto.
  5. Per flag se viene eseguito in modalità locale o cluster (disabilitato per impostazione predefinita, ad esempio il cluster è preferito)

È necessario leggere Spark SQL Features

Inoltre, quando la creazione ha esito positivo, i messaggi one INFO compaiono nei log. Cioè:
INFO Executor: Avvio dell’ID executor sull’host

Heartbeater — Thread Mittente Heartbeat

Fondamentalmente, con un singolo thread, heartbeater è un demone ScheduledThreadPoolExecutor.
Chiamiamo questo pool di thread un driver-heartbeater.

Avvio dell’attività — Metodo launchTask

Utilizzando questo metodo, eseguiamo contemporaneamente l’attività serializedTask di input.

Scintilla Esecutore - Avvio di Attività sul Esecutore Utilizzando TaskRunners

Scintilla Esecutore – Avvio di Attività sul Esecutore Utilizzando TaskRunners

analizziamo la Scintilla Macchina Algoritmo di Apprendimento

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

Inoltre, utilizzando launchTask usiamo per creare un TaskRunner, internamente. Quindi, con l’aiuto di taskId, lo registriamo nel registro interno di runningTasks. Successivamente, lo eseguiamo sul pool di thread “Executor task launch worker”.

“Executor Task Launch Worker” Thread Pool — ThreadPool Property

Fondamentalmente, Per lanciare, per task launch worker id. Utilizza il pool di thread memorizzato nella cache del demone threadPool. Inoltre, allo stesso tempo della creazione di Spark Executor, viene creato threadPool. Inoltre, lo spegne quando si ferma.

Devi leggere lo streaming strutturato in SparkR

Conclusione

Di conseguenza, abbiamo visto, l’intero concetto di Esecutori in Apache Spark. Inoltre, abbiamo anche imparato come gli esecutori Spark sono utili per l’esecuzione di attività. Il principale vantaggio che abbiamo imparato è che possiamo avere quanti più esecutori vogliamo. Pertanto, Executors aiuta a migliorare le prestazioni Spark del sistema. Abbiamo coperto ogni aspetto su Apache Spark Executor sopra. Tuttavia, se si verifica una query non esitate a chiedere nella sezione commenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.