Teilen über


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

Im Modus für hohe Parallelität können Benutzer*innen Spark-Sitzungen in Spark für Fabric für Datentechnik- und Data Science-Workloads gemeinsam nutzen. Ein Element wie ein Notebook verwendet eine Spark-Standardsitzung für die Ausführung. Im Modus für hohe Parallelität kann die Spark-Sitzung die unabhängige Ausführung mehrerer Elemente innerhalb einzelner REPL-Kerne (read–eval–print-Loop) unterstützen, die in der Spark-Anwendung enthalten sind. Diese REPL-Kerne bieten Isolation für jedes Element und verhindern, dass lokale Notebookvariablen von Variablen mit demselben Namen aus anderen Notebooks aus derselben Sitzung überschrieben werden.

Da die Sitzung bereits ausgeführt wird, ermöglicht dies Benutzer*innen eine sofortige Ausführung, wenn die Sitzung über mehrere Notebooks hinweg wiederverwendet wird.

Hinweis

Bei benutzerdefinierten Pools im Modus für hohe Parallelität erzielen Benutzer*innen einen um den Faktor 36 schnelleren Sitzungsstart im Vergleich zu einer Spark-Standardsitzung.

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

Wichtig

Bedingungen für die Sitzungsfreigabe:

  • Die Sitzungen sollten innerhalb einer einzigen Benutzergrenze sein.
  • Die Sitzungen sollten die gleiche Standardkonfiguration für das Lakehouse aufweisen.
  • Die Sitzungen sollten über die gleichen Spark-Computeeigenschaften verfügen.

Während der Initialisierung der Spark-Sitzung wird ein REPL-Kern erstellt. Jedes Mal, wenn ein neues Element mit der gemeinsamen Nutzung derselben Sitzung beginnt, werden die Executors den Notebooks, die in diesen REPL-Kernen innerhalb der Spark-Anwendung ausgeführt werden, gleichmäßig zugewiesen, um Ressourcenmangel zu verhindern.

Abrechnung von Sitzungen mit hoher Gleichzeitigkeit

Bei Verwendung des Modus für hohe Parallelität wird nur die initiierende Sitzung , die die freigegebene Spark-Anwendung startet, abgerechnet. Alle nachfolgenden Sitzungen, die dieselbe Spark-Sitzung gemeinsam nutzen, verursachen keine zusätzliche Abrechnung. Dieser Ansatz ermöglicht die Kostenoptimierung für Teams und Benutzer, die mehrere gleichzeitige Workloads in einem freigegebenen Kontext ausführen.

📌 Beispiel:

  • 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 die Spark-Berechnungsnutzung in Rechnung gestellt.
  • Die freigegebenen Notizbücher (2 bis 5) werden nicht einzeln berechnet.

Dieses Abrechnungsverhalten spiegelt sich auch in Kapazitätsmetriken wider – die Nutzung wird nur für das initiierende Notizbuch gemeldet (Notizbuch 1 in diesem Fall).

Hinweis

Das gleiche Abrechnungsverhalten gilt, wenn der Modus für hohe Parallelität innerhalb von Pipelineaktivitäten verwendet wird – nur das Notizbuch oder die Aktivität, die die Spark-Sitzung initiiert, wird belastet.