Freigeben über


Auftragszulassung in Apache Spark für Microsoft Fabric

Gilt für:✅ Datentechnik und Data Science in Microsoft Fabric

Apache Spark für Fabric verwendet die optimistische Aufnahmetechnik für Aufträge, um die Mindestkernanforderung für Spark-Aufträge zu ermitteln. Dieser Vorgang gilt für interaktive Aufträge oder Batchaufträge aus Notebooks, Lakehouses oder Spark-Auftragsdefinitionen. Er basiert auf der Mindestknoteneinstellung des ausgewählten Spark-Pools in den Arbeitsbereichseinstellungen oder der angefügten Umgebung. Wenn verfügbare Kerne in der Fabric-Kapazität gefunden werden, die mit dem Arbeitsbereich verknüpft ist, wird der Auftrag akzeptiert und beginnt mit der Ausführung. Aufträge werden mit ihrer minimalen Knoteneinstellung initiiert und können innerhalb ihrer maximalen Knotengrenzwerte pro Auftragsphasen skaliert werden. Wenn die Gesamtzahl der Kerne, die von laufenden Aufträgen, die die Fabric-Kapazität nutzen, verwendet werden, unter der maximalen Anzahl der zugewiesenen Burst-Kerne liegt, erlaubt die Auftragszulassungs- und Drosselungsschicht auf Fabric Spark dem Auftrag, sich zu vergrößern.

Weitere Informationen finden Sie unter Parallelitätsgrenzwerte und Warteschlangen in Microsoft Fabric Spark.

Wie funktioniert optimistische Auftragszulassung?

In Fabric enthalten Startpools ein standardmäßiges Minimum von einem Knoten, während benutzerdefinierte Pools die Festlegung von Mindestknoten basierend auf Workloadanforderungen ermöglichen. Durch die automatische Skalierung werden die Computeanforderungen für Spark-Aufträge während der Ausführungsphasen innerhalb der konfigurierten Mindest- und Maximalknoten angepasst. Die optimistische Auftragsaufnahme bewertet Auftragsübermittlungen basierend auf verfügbaren Kernen und führt sie mit minimalen Kernen aus. Aufträge versuchen, basierend auf den maximal zugewiesenen Knoten während der Ausführung zu wachsen. Skalierungsanforderungen werden genehmigt, wenn die verwendeten Spark-Kerne innerhalb der zugewiesenen Kapazitätsgrenzen liegen.

Hinweis

Wenn die Nutzung den maximalen Grenzwert erreicht und alle Kerne innerhalb der Gesamtkapazität für Fabric verwendet werden, werden alle Skalierungsanforderungen verweigert. Aktive Aufträge müssen entweder abgeschlossen oder abgebrochen werden, um Kerne freizugeben.

Wie wirkt sich dies auf die Parallelität des Auftrags aus?

Die Mindestanforderungen für jeden Auftrag entscheiden darüber, ob der Auftrag angenommen werden kann. Wenn die Kapazität vollständig genutzt wird und keine Kerne übrig sind, um die Mindestanforderungen eines Auftrags zu erfüllen, wird der Auftrag abgelehnt. Interaktive Notebook-Jobs oder Lakehouse-Operationen werden mit einer Fehlermeldung Diese Anforderung kann nicht gesendet werden, da derzeit alle verfügbaren Kapazitäten verwendet werden. Brechen Sie einen aktuell ausgeführten Job ab, erhöhen Sie die verfügbare Kapazität, oder versuchen Sie es später erneut blockiert. Batchaufträge werden in die Warteschlange gestellt und ausgeführt, sobald Kerne verfügbar sind.

Betrachten Sie beispielsweise ein Szenario mit einem Benutzer, der die Fabric F32-Kapazitäts-SKU verwendet. Wenn alle Aufträge das standardmäßige Starter-Poolsetup ohne optimistische Auftragsaufnahme verwenden, würde die Kapazität eine maximale Parallelität von drei Aufträgen unterstützen. Die maximale Anzahl von Kernen pro Auftrag wird gemäß der Konfiguration der maximalen Knoten zugewiesen.

Screenshot der Parallelität des Jobs ohne optimistische Auftragszulassung in Fabric Spark.

Bei optimistischer Auftragsaufnahme mit der gleichen Kapazität wie oben können 24 Aufträge mit ihrer minimalen Knotenkonfiguration während des Szenarios für maximale Parallelität zugelassen und ausgeführt werden. Da für jeden Auftrag 8 Spark-VCores erforderlich sind, bei denen eine minimale Knotenkonfiguration mittlerer Größe ist.

Screenshot der Parallelität von Jobs mit optimistischer Auftragszulassung in Fabric Spark.

Skalieren von Aufträgen mit Spark Autoskalierung

Wenn Sie die Autoskalierung für Spark-Pools aktivieren, werden Aufträge mit ihrer minimalen Knotenkonfiguration ausgeführt. Während der Laufzeit kann die Skalierung auftreten. Diese Anfragen durchlaufen die Auftragszugangssteuerung. Genehmigte Anforderungen werden bis zu den maximalen Grenzwerten basierend auf den gesamten verfügbaren Kernen skaliert. Abgelehnte Anforderungen wirken sich nicht auf aktive Aufträge aus. sie werden weiterhin mit ihrer aktuellen Konfiguration ausgeführt, bis Kerne verfügbar sind.

Screenshot einer Auftragshochskalierung mit optimistischer Auftragszulassung in Fabric Spark.

Hinweis

Um die maximale Kernzuweisung für einen Auftrag gemäß der Konfiguration der maximalen Knoten sicherzustellen, deaktivieren Sie die Autoskalierung und legen Sie die maximalen Knoten innerhalb der Fabric-Kapazitäts-SKU fest. Da der Auftrag in diesem Fall keine Mindestkernanforderung hat, wird er gestartet, sobald freie Kerne verfügbar sind und bis zur konfigurierten Gesamtsumme skaliert wird. Wenn die Kapazität vollständig verwendet wird, werden interaktive Notebookaufträge möglicherweise verlangsamt oder in die Warteschlange gestellt. In die Warteschlange eingereihte Aufträge werden automatisch wiederholt, wenn Kerne verfügbar werden.