Apache Spark Executor zum Ausführen von Spark-Aufgaben

Bleiben Sie mit den neuesten Technologietrends auf dem Laufenden
Treten Sie DataFlair auf Telegram bei!!

In Apache Spark ist ein verteilter Agent für die Ausführung von Aufgaben verantwortlich. Dieses Dokument beschreibt das gesamte Konzept von Apache Spark Executor. Außerdem sehen wir die Methode zum Erstellen einer Executor-Instanz in Spark. Um mehr zu erfahren, sehen wir auch die Launch Task-Methode in Spark Executor.

Apache Spark Executor zum Ausführen von Spark-Aufgaben

Apache Spark Executor zum Ausführen von Spark-Aufgaben

Sie müssen Ihr Spark-Lernen testen

Was ist Spark Executor

Grundsätzlich können wir sagen, dass Executoren in Spark Worker-Knoten sind. Diese helfen dabei, einzelne Aufgaben in einem bestimmten Spark-Job auszuführen. Darüber hinaus starten wir sie zu Beginn einer Spark-Anwendung. Dann läuft es normalerweise für die gesamte Lebensdauer einer Anwendung. Sobald sie die Aufgabe ausgeführt haben, sendet Ergebnisse an den Fahrer. Executoren stellen auch In-Memory-Speicher für Spark-RDDs bereit, die von Anwenderprogrammen über Block Manager zwischengespeichert werden.
Darüber hinaus läuft es für die gesamte Lebensdauer einer Spark-Anwendung. Dies schließt auf die statische Zuweisung des Spark Executor . Wir können jedoch auch die dynamische Zuweisung bevorzugen.
Darüber hinaus sendet es mit Hilfe des Heartbeat Sender Threads Metriken und Herzschläge. Einer der Vorteile ist, dass wir in Spark so viele Executoren wie Datenknoten haben können. Darüber hinaus ist es auch möglich, so viele Kerne wie möglich aus dem Cluster zu erhalten. Die andere Möglichkeit, Apache Spark Executor zu beschreiben, besteht entweder in der ID, dem Hostnamen, der Umgebung (als SparkEnv) oder dem Klassenpfad.
Der wichtigste zu beachtende Punkt ist, dass Executor-Backends Executor ausschließlich in Spark verwalten.

Schauen Sie sich die Top-Spark-Zertifizierungen an

Heartbeat-Empfänger Heartbeat Message Handler - Spark Executor

Heartbeat-Empfänger Heartbeat Message Handler – Spark Executor

Bedingungen zum Erstellen von Spark Executor

Einige Bedingungen, unter denen wir Executor in Spark erstellen, sind:

  1. Wenn CoarseGrainedExecutorBackend die Nachricht RegisteredExecutor empfängt. Nur für Funken und GARN.
  2. Während Mesos ‚MesosExecutorBackend auf Spark registriert ist.
  3. Wenn LocalEndpoint für den lokalen Modus erstellt wird.

Erstellen der Spark Executor-Instanz

Mithilfe der folgenden Schritte können wir den Spark Executor erstellen:

  1. Von der Executor-ID.
  2. Mit SparkEnv können wir sowohl auf das lokale MetricsSystem als auch auf den BlockManager zugreifen. Darüber hinaus können wir auch auf den lokalen Serializer zugreifen.
  3. Vom Hostnamen des Executors.
  4. Um dem Klassenpfad von Tasks eine Sammlung benutzerdefinierter JARs hinzuzufügen. Standardmäßig ist es leer.
  5. Durch Flag, ob es im lokalen oder Cluster-Modus ausgeführt wird (standardmäßig deaktiviert, dh Cluster wird bevorzugt)

Sie müssen Spark SQL Features

Lesen Wenn die Erstellung erfolgreich ist, werden außerdem die One-INFO-Nachrichten in den Protokollen angezeigt. Das heißt:
INFO Executor: Start der Executor-ID auf dem Host

Heartbeater — Heartbeat-Sender-Thread

Grundsätzlich ist Heartbeater mit einem einzelnen Thread ein Daemon ScheduledThreadPoolExecutor.
Wir nennen diesen Thread-Pool einen Driver-Heartbeater.

Starten der Task – launchTask-Methode

Mit dieser Methode führen wir die Eingabetask serializedTask gleichzeitig aus.

Spark Executor- Starten von Aufgaben auf Executor mit TaskRunners

Spark Executor- Starten von Aufgaben auf Executor mit TaskRunners

Lassen Sie uns den Spark-Algorithmus für maschinelles Lernen überarbeiten

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

Darüber hinaus erstellen wir mit launchTask intern einen TaskRunner. Dann registrieren wir es mit Hilfe von TaskId in der internen Registrierung von runningTasks. Danach führen wir es im Thread-Pool „Executor Task launch worker“ aus.

„Executor Task Launch Worker“ Thread Pool – ThreadPool Eigenschaft

Grundsätzlich zu starten, nach Task Launch Worker ID. Es verwendet threadPool Daemon zwischengespeicherten Thread-Pool. Darüber hinaus wird gleichzeitig mit der Erstellung des Spark Executor ein threadPool erstellt. Schaltet es auch aus, wenn es stoppt.

Sie müssen über strukturiertes Streaming in SparkR lesen

Fazit

Als Ergebnis haben wir das gesamte Konzept der Executoren in Apache Spark gesehen. Darüber hinaus haben wir gelernt, wie Spark Executors bei der Ausführung von Aufgaben hilfreich sind. Der große Vorteil, den wir gelernt haben, ist, dass wir so viele Testamentsvollstrecker haben können, wie wir wollen. Daher hilft Executors, die Gesamtleistung des Systems zu verbessern. Wir haben jeden Aspekt über Apache Spark Executor oben behandelt. Wenn jedoch eine Abfrage auftritt, können Sie diese gerne im Kommentarbereich stellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.