Parallelitätsgrenzwerte und Warteschlangen in Microsoft Fabric Spark

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

Microsoft Fabric ermöglicht die Zuordnung von Compute-Einheiten über Kapazität. Dabei handelt es sich um dedizierte Ressourcen, die zu einem bestimmten Zeitpunkt zur Verwendung verfügbar sind. Kapazität definiert, ob es einer Ressource möglich ist, eine Aktivität auszuführen oder eine Ausgabe zu erzeugen. Verschiedene Elemente verbrauchen zu einem bestimmten Zeitpunkt unterschiedliche Kapazitäten. Microsoft Fabric stellt Kapazität über die Fabric-SKUs und Testversionen bereit. Weitere Informationen finden Sie unter Was bedeutet Kapazität?.

Wenn Benutzer*innen eine Microsoft Fabric-Kapazität in Azure erstellen, können sie eine Kapazitätsgröße basierend auf der Größe ihrer Analyseworkloads auswählen. In Spark haben Benutzer*innen zwei virtuelle Spark-Kerne für jede Kapazitätseinheit, die sie im Rahmen ihrer SKU reservieren.

Eine Kapazitätseinheit = zwei virtuelle Spark-Kerne

Nachdem die Kapazität erworben wurde, können Administrator*innen Arbeitsbereiche innerhalb der Kapazität in Microsoft Fabric erstellen. Die der Kapazität zugeordneten virtuellen Spark-Kerne werden für alle Spark-basierten Elemente gemeinsam genutzt, z. B. Notebooks, Spark-Auftragsdefinitionen und in diesen Arbeitsbereichen erstellte Lakehouses.

Parallelitätsdrosselung und Warteschlangen

Fabric Spark erzwingt einen kernbasierten Einschränkungs- und Warteschlangenmechanismus, bei dem Benutzer*innen Aufträge basierend auf den erworbenen Fabric-Kapazitäts-SKUs übermitteln dürfen. Der Warteschlangenmechanismus ist eine einfache FIFO-basierte Warteschlange, die nach verfügbaren Auftragsslots sucht und die Aufträge automatisch wiederholt, sobald die Kapazität verfügbar ist. Wenn Benutzer Notebook- oder Lakehouse-Aufträge, z. B. „Load to Table“, übermitteln und deren Kapazität aufgrund parallel ausgeführter Aufträge, die alle Spark VCores, die für ihre erworbenen Fabric-Kapazitäts-SKU verfügbar sind, benutzen, maximal ausgelastet ist, werden sie mit der folgenden Meldung gedrosselt: HTTP-Antwortcode 430: Diese Anforderung konnte nicht übermittelt werden, da die gesamte verfügbare Kapazität derzeit ausgelastet ist. Brechen Sie einen aktuell ausgeführten Auftrag ab, erhöhen Sie die verfügbare Kapazität, oder versuchen Sie es später erneut.

Wenn die Warteschlangenfunktion aktiviert ist, werden Notebook-Jobs, die von Pipelines, Job Scheduler und Spark-Job-Definitionen ausgelöst werden, der Warteschlange hinzugefügt und automatisch erneut ausgeführt, wenn die Kapazität frei wird. Der Ablauf der Warteschlange wird auf 24 Stunden ab der Übermittlungszeit des Auftrags festgelegt. Nach diesem Zeitraum müssen die Aufträge erneut übermittelt werden.

Fabric-Kapazitäten werden mit Bursting aktiviert, wodurch Sie zusätzliche Computekerne nutzen können, die über die erworbenen Funktionen hinausgehen, um die Ausführung einer Workload zu beschleunigen. Bei Spark-Workloads können Benutzer*innen mit Bursting Aufträge mit insgesamt der dreifachen Menge der gekauften virtuellen Spark-Kerne übermitteln.

Hinweis

Der Burstfaktor erhöht nur die Gesamtanzahl der virtuellen Spark-Kerne, um die Parallelität zu unterstützen, erhöht aber nicht die maximalen Kerne pro Auftrag. Benutzer*innen können keinen Auftrag übermitteln, der mehr Kerne erfordert als die Fabric-Kapazität zulässt.

Im folgenden Abschnitt werden verschiedene kernbasierte Grenzwerte für Spark-Workloads aufgeführt, die auf Microsoft Fabric-Kapazitäts-SKUs basieren:

Fabric-Kapazitäts-SKU Entsprechende Power BI-SKU Spark-VCores Max Spark VCores mit Burstfaktor Warteschlangenlimit
F2 - 4 20 4
F4 - 8 24 4
F8 - 16 48 8
F16 - 32 96 16
F32 - 64 192 32
F64 P1 128 384 64
F128 P2 256 768 128
F256 P3 512 1536 256
F512 P4 1024 3072 512
F1024 - 2048 6.144 1024
F2048 - 4096 12288 2048
Testkapazität P1 128 128 Nicht verfügbar

Beispielberechnung: SKU „F64” bietet 128 Spark-VCores. Der für eine F64-SKU angewendete Burstfaktor ist 3, was insgesamt 384 Spark Vcores macht. Der Burstfaktor wird nur zur Parallelität angewendet und erhöht nicht die maximalen Kerne, die für einen einzelnen Spark-Auftrag verfügbar sind. Dies bedeutet, dass ein einzelnes Notebook oder eine Spark-Auftragsdefinition oder ein Lakehouse-Auftrag eine Poolkonfiguration von max. 128 vCores und 3 Aufträgen mit derselben Konfiguration gleichzeitig ausführen kann. Wenn Notebooks eine kleinere Computekonfiguration verwenden, können sie gleichzeitig ausgeführt werden, bis die maximale Auslastung den Grenzwert von 384 SparkVcore erreicht.

Hinweis

Die Aufträge haben einen Warteschlangenablaufzeitraum von 24 Stunden, nach dem sie abgebrochen werden und Benutzer*innen sie erneut zur Auftragsausführung übermitteln müssen.

Die Fabric Spark-Drosselung weist keine auftragsbasierten Grenzwerte auf, die erzwungen und willkürlich sind, und die Drosselung basiert nur auf der Anzahl der Kerne, die für die erworbene Fabric-Kapazitäts-SKU zulässig sind. Die Auftragszulassung ist standardmäßig eine optimistische Zugangssteuerung, bei der die Arbeitsplätze basierend auf ihren Mindestkernanforderungen zugelassen werden. Weitere Informationen über die optimistische Auftragszulassung Auftragszulassung und -verwaltung. Wenn die Standardpooloption (Startpool) für den Arbeitsbereich ausgewählt ist, werden in der folgenden Tabelle die maximalen Grenzwerte für den Parallelitätsauftrag aufgelistet.

Weitere Informationen zu den Standardkonfigurationen für Starterpools basierend auf der Fabric-Kapazitäts-SKU erhalten Sie unter Konfigurieren von Starterpools.

Bursting auf Auftragsebene

Admins können ihre Spark-Pools so konfigurieren, dass die maximale Anzahl an verfügbaren Spark-Kernen mit Burst-Faktor für die gesamte Kapazität genutzt wird. Beispielsweise kann ein Arbeitsbereichs-Admin, dessen Arbeitsbereich an eine F46-Fabric-Kapazität angeschlossen ist, seinen Spark-Pool (Starterpool oder benutzerdefinierter Pool) jetzt auf 364 Spark-VCores konfigurieren, wobei die Höchstzahl an Knoten von Starterpools auf 48 eingestellt werden kann. Alternativ können Admins einen Pool der Knotengröße XX Large mit maximal 6 Knoten einrichten.