Share via


Modus voor hoge gelijktijdigheid in Apache Spark for Fabric

Met de modus Voor hoge gelijktijdigheid kunnen gebruikers dezelfde Spark-sessies in Spark for Fabric delen voor data engineering- en data science-workloads. Een item zoals een notebook maakt gebruik van een standaard Spark-sessie voor de uitvoering ervan. In de modus voor hoge gelijktijdigheid kan de Spark-sessie onafhankelijke uitvoering van meerdere items ondersteunen binnen afzonderlijke REPL-kernen (read-eval-print loop) die aanwezig zijn in de Spark-toepassing. Deze REPL-kernen bieden isolatie voor elk item en voorkomen dat lokale notebookvariabelen worden overschreven door variabelen met dezelfde naam van andere notebooks die dezelfde sessie delen.

Omdat de sessie al wordt uitgevoerd, biedt dit gebruikers een directe uitvoeringservaring bij het hergebruik van de sessie in meerdere notebooks.

Notitie

In het geval van aangepaste pools met een modus voor hoge gelijktijdigheid krijgen gebruikers 36X snellere sessiestartervaring in vergelijking met een standaard Spark-sessie.

Diagram met het werken van de modus voor hoge gelijktijdigheid in Fabric.

Belangrijk

Voorwaarden voor het delen van sessies zijn onder andere:

  • Sessies moeten binnen één gebruikersgrens vallen.
  • Sessies moeten dezelfde standaard lakehouse-configuratie hebben.
  • Sessies moeten dezelfde Spark-rekeneigenschappen hebben.

Als onderdeel van de initialisatie van Spark-sessies wordt een REPL-kern gemaakt. Telkens wanneer een nieuw item dezelfde sessie deelt en de uitvoerders op FAIR gebaseerde wijze worden toegewezen aan deze notebooks die worden uitgevoerd in deze REPL-kernen in de Spark-toepassing, voorkomt starvatiescenario's.

Facturering van sessies met hoge gelijktijdigheid

Wanneer u de modus voor hoge gelijktijdigheid gebruikt, wordt alleen de initiërende sessie die de gedeelde Spark-toepassing start, gefactureerd. Alle volgende sessies die dezelfde Spark-sessie delen , hebben geen extra facturering. Deze aanpak maakt kostenoptimalisatie mogelijk voor teams en gebruikers die meerdere gelijktijdige workloads uitvoeren in een gedeelde context.

📌 Voorbeeld:

  • Een gebruiker start Notebook 1, waarmee een Spark-sessie wordt gestart in de modus voor hoge gelijktijdigheid.
  • Dezelfde sessie wordt vervolgens gedeeld door Notebook 2, Notebook 3, Notebook 4 en Notebook 5.
  • In dit geval wordt alleen notebook 1 gefactureerd voor het Spark-rekengebruik.
  • De gedeelde notitieblokken (2 tot 5) worden niet afzonderlijk gefactureerd .

Dit factureringsgedrag wordt ook weerspiegeld in metrische capaciteitsgegevens . Het gebruik wordt alleen gerapporteerd aan de initiërende notebook (Notebook 1 in dit geval).

Notitie

Hetzelfde factureringsgedrag is van toepassing wanneer de modus voor hoge gelijktijdigheid wordt gebruikt binnen pijplijnactiviteiten. Alleen het notebook of de activiteit die de Spark-sessie initieert, wordt in rekening gebracht.