Ich habe Zweifel, dass, wie Stufen in einer Funkenanwendung ausführen. Gibt es eine Konsistenz in der Ausführung von Stufen, die vom Programmierer definiert werden können, oder wird sie von Spark Engine abgeleitet?Laufen Stufen in einer Anwendung parallel in Spark?
Antwort
Überprüfen Sie die Entitäten (Stufen, Trennwände) in diesem Bild:
Does Stufen in einem Job (? Funken Anwendung) parallel in Funken?
Ja, sie können parallel ausgeführt werden, wenn keine sequentielle Abhängigkeit besteht.
Hier können Partitionen der Stufe 1 und 2 parallel ausgeführt werden, aber keine Partitionen der Stufe 0, da die Abhängigkeitspartitionen in Stufe 1 & 2 verarbeitet werden müssen.
Gibt es eine Konsistenz in der Ausführung von Stufen, die von Programmierer definiert werden können oder wird es von Funkenmotor abgeleitet?
Bühnengrenze ist definiert durch, wenn Daten-Umordnung unter Partitionen geschieht. (Überprüfen Sie die rosafarbenen Linien im Bild)
Wie Stufen in einem Funkenjob ausführen
Stages eines Jobs parallel ausgeführt werden können, wenn es keine Abhängigkeiten zwischen ihnen ist.
In Spark werden die Phasen durch Grenzen aufgeteilt. Sie haben eine Shuffle-Stufe, bei der es sich um eine Grenzstufe handelt, bei der Transformationen geteilt werden, z. B. reduceByKey
, und Sie haben eine Ergebnisstufe, bei der es sich um ein Ergebnis handelt, das kein Mischen verursacht, dh map
:
(Picture provided by Cloudera)
Seit groupByKey
ist eine Shuffle-Phase, können Sie die Spaltung in rosa-Boxen zu sehen, die eine Grenze markiert.
Intern ist eine Bühne weiter in Aufgaben unterteilt. Im obigen Bild kann die erste Zeile, die textFile -> map -> filter
ist, in drei Aufgaben aufgeteilt werden, eine für jede Transformation.
Wenn ein Transformationen-Ausgang ein anderer Transformationen-Eingang ist, benötigen wir die serielle Ausführung. Wenn die Stufen jedoch nicht miteinander in Beziehung stehen, d. H. hadoopFile -> groupByKey -> map
, können sie parallel ablaufen. Sobald sie ab diesem Zeitpunkt eine Abhängigkeit zwischen ihnen erklären, werden sie die Ausführung seriell fortsetzen.
Phasen (d. h. ihre Aufgaben) können parallel ausgeführt werden, wenn zwischen ihnen keine Abhängigkeit besteht und in einem Cluster genügend Ressourcen vorhanden sind, um die Aufgaben auszuführen. –
@JacekLaskowski Danke für die Korrektur. Ich habe vergessen, eine einzelne Transformation in einem Diagramm in mehrere unabhängige Stufen aufzuteilen. –
Danke für Ihre Antwort Yuval..its sehr informativ –
- 1. Keine Stufen laufen, aber numRunningTasks! = 0
- 2. CVX parallel in Matlab laufen
- 3. Spark DAG Anzahl der Stufen
- 4. Mehrere Eingänge laufen parallel in der gleichen Anwendung vs. Starten einer neuen Anwendung für jeden Eingang
- 5. Python: Laufen subprocess parallel
- 6. Laufen baut innerhalb jeder Stufe parallel in Jenkins Pipeline
- 7. Zwei Skripte parallel laufen in Pycharm
- 8. Anwendung in Apache Spark
- 9. ansible - Playbooks parallel laufen
- 10. Frühling @Scheduler parallel laufen
- 11. Laufen Testfälle in Jasmine 2.0 parallel?
- 12. fork() und exec() laufen parallel in C
- 13. Threads laufen nicht parallel in Python-Skript
- 14. Einzelne Parkettdatei parallel in Spark lesen?
- 15. Stoppen einer laufenden Spark-Anwendung
- 16. , wie man zwei Funken RDD laufen parallel
- 17. Kann Spark parallel geschachtelt werden?
- 18. Wie camel Komponenten parallel laufen
- 19. Wie Scalaz Tasks parallel laufen
- 20. Spark beendet nie Jobs und Stufen, JobProgressListener Absturz
- 21. Programme parallel mit XARGs laufen
- 22. VTK-Interaktor und PyQt, die parallel laufen
- 23. Go-Anwendung in Produktion laufen
- 24. Reduzieren Rechenzeit in Spark-Anwendung
- 25. Git - darf der Garbage Collector parallel laufen?
- 26. Wie läuft man 2 Prozesse parallel in Scala und Spark?
- 27. So führen Sie Spark UDF parallel ohne Neupartitionierung
- 28. Geplante Agenten, die nicht parallel laufen
- 29. Zuordnung von Schlüssel/Wert-Partitionen parallel in Spark Streaming
- 30. Laufen mehrere Spinnen in scrapy für 1 Website parallel?
Ausgezeichnetes Bild !!! Danke, dass du es mit den Credits benutzt hast! –
Danke für so detaillierte Erklärung ... –