Freigeben über


Modus für hohe Parallelität in Apache Spark für Fabric

Im Modus für hohe Parallelität können kompatible Spark-Workloads eine aktive Spark-Sitzung gemeinsam nutzen, anstatt für jede Workload eine separate Sitzung zu starten. Dieser Modus wird häufig für Notizbuch- und Pipelineszenarien in Fabric verwendet.

Dieser Artikel hilft Ihnen zu verstehen:

  • Was hohen Parallelitätsmodus bedeutet und wann man ihn verwenden sollte.
  • Anforderungen für die Sitzungsteilung.
  • Wie die Abrechnung für freigegebene Sitzungen funktioniert.

Im Standardmodus startet jede Notizbuch- oder Pipelineaktivität eine eigene Spark-Sitzung. Im hochgradigem Parallelitätsmodus hostet eine Spark-Anwendung mehrere Workloads, indem jedem Workload ein eigener REPL-Kern (Read-eval-print loop) zugewiesen wird. Jeder REPL-Kern isoliert den Ausführungszustand, sodass lokale Variablen in einer Workload keine Variablen in einer anderen Workload überschreiben.

Da die freigegebene Sitzung bereits ausgeführt wird, können nachfolgende Workloads viel schneller gestartet werden.

Hinweis

Bei benutzerdefinierten Pools mit hohem Parallelitätsmodus kann der Sitzungsstart bis zu 36x schneller sein als eine standardmäßige Spark-Sitzung.

Wichtige Funktionen

Das Diagramm zeigt drei Kernmerkmale des Modus für hohe Parallelität:

  • Sicherheit: Die Sitzungsfreigabe bleibt innerhalb einer Einbenutzergrenze.
  • Multitasking: Sie können zwischen Notizbüchern wechseln und die Arbeit fortsetzen, ohne darauf zu warten, dass eine neue Spark-Sitzung erstellt oder initialisiert wird.
  • Kosteneffizienz: Gemeinsam genutzte Sitzungen verbessern die Ressourcenauslastung und reduzieren die Berechnungskosten für Datentechnik- und Data Science-Workloads.

Diagramm, das die Arbeit des Modus für hohe Parallelität in Fabric zeigt.

Anforderungen für das Teilen von Sitzungen

Die Sitzungsfreigabe gilt, wenn diese Bedingungen erfüllt sind:

  • Sitzungen sind auf eine einzelne Benutzergrenze beschränkt.
  • Sitzungen verwenden dieselbe Standardkonfiguration in Lakehouse.
  • Sitzungen verwenden dieselben Spark Compute-Einstellungen.

Wenn sich eine Anforderung unterscheidet, startet Fabric eine separate Spark-Sitzung.

Während der Sitzungsinitialisierung erstellt Fabric einen REPL-Kern. Wenn neue Workloads an der freigegebenen Sitzung teilnehmen, werden Executoren mithilfe der FAIR-Planung über diese REPL-Kerne hinweg zugewiesen, um das Starvation-Risiko zu reduzieren.

Abrechnungsverhalten

Wenn Sie den Modus für hohe Parallelität verwenden, wird nur die initiierende Notizbuch- oder Pipelineaktivität, die die freigegebene Spark-Anwendung startet, abgerechnet. Nachfolgende Sitzungen, die dieselbe Spark-Sitzung gemeinsam nutzen, verursachen keine separate Abrechnung.

Example

  • Ein Benutzer startet Notizbuch 1, wodurch eine Spark-Sitzung im Modus für hohe Parallelität initiiert wird.
  • Die gleiche Sitzung wird dann von Notizbuch 2, Notizbuch 3, Notizbuch 4 und Notizbuch 5 geteilt.
  • In diesem Fall wird nur Notebook 1 für Spark-Computing abgerechnet.
  • Freigegebene Notizbücher (2 bis 5) werden nicht einzeln abgerechnet.

Dieses Verhalten spiegelt sich auch in Kapazitätsmetriken wider, bei denen die Nutzung im Hinblick auf das initiierende Notizbuch berichtet wird.

Hinweis

Das gleiche Abrechnungsverhalten gilt für Pipelineaktivitäten. Nur das Notizbuch oder die Aktivität, die die Spark-Sitzung initiiert, wird in Rechnung gestellt.