Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 Apache Spark haben Benutzer*innen zwei virtuelle Apache 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 Apache Spark-basierten Elemente gemeinsam genutzt, z. B. Notebooks, Apache Spark-Auftragsdefinitionen und in diesen Arbeitsbereichen erstellte Lakehouses.
Parallelitätsdrosselung und Warteschlangen
Spark für Fabric erzwingt einen kernbasierten Einschränkungs- und Warteschlangenmechanismus, bei dem Benutzende 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 Notizbuch- oder Lakehouse-Aufträge (z. B. Load to Table) übermitteln und die Kapazität aufgrund gleichzeitiger Aufträge mit allen Spark VCores maximal genutzt wird, wird die folgende Fehlermeldung angezeigt:
HTTP Response code 430: This Spark job can't be run because you have hit a Spark compute or API rate limit. To run this Spark job, cancel an active Spark job through the Monitoring hub, or choose a larger capacity SKU or try again later.
Wenn die Warteschlange aktiviert ist, werden Notizbuchaufträge, die aus Pipelines, Auftragsplaner und Spark-Auftragsdefinitionen ausgelöst werden, der Warteschlange hinzugefügt und automatisch erneut versucht, wenn die Kapazität verfügbar wird.
Hinweis
Der Ablauf der Warteschlange wird auf 24 Stunden ab der Übermittlungszeit des Auftrags festgelegt. Nach diesem Zeitraum werden Aufträge aus der Warteschlange entfernt und müssen manuell erneut übermittelt werden.
Fabric-Kapazitäten sind auch mit Platzenaktiviert, sodass Sie bis zu 3 verbrauchen können× die Anzahl der Spark VCores, die Sie gekauft haben. Dieser Schub trägt dazu bei, die Parallelität zu verbessern, indem mehr Aufträge parallel ausgeführt werden können.
Hinweis
Der Platzungsfaktor erhöht die Gesamtanzahl von Spark VCores für Parallelität und kann von einem einzelnen Auftraggenutzt werden, wenn der Spark-Pool mit einer höheren Kernanzahl konfiguriert ist.
Anders ausgedrückt bestimmt die Poolkonfiguration die maximalen Kerne, die ein Auftrag verwenden kann – nicht nur die Basis-SKU-Zuordnung.
Beispiel
Wenn Sie über eine F64-SKU mit 384 Max Spark VCores mit Burst-Faktorverfügen:
- Sie können einen benutzerdefinierten oder Starterpool mit bis zu 384 Spark VCores konfigurieren.
- Wenn ein Arbeitsbereichsadministrator einen solchen Pool erstellt, kann ein einzelner Spark-Auftrag (z. B. ein Notizbuch, eine Auftragsdefinition oder einen Lakehouse-Auftrag) alle 384 VCores verwenden.
- Beispiel: Ein Pool mit
Medium
Knoten (jeweils 8 VCores) und 48 max. Knoten = 384 VCores.
Tipp
Um die Auftragsleistung zu maximieren, vergewissern Sie sich, dass Ihr Arbeitsbereichspool mit ausreichender Knotengröße und -anzahl konfiguriert ist.
SKU-Grenzwerte für Spark-Kapazität
Fabric-Kapazitäts-SKU | Entsprechende Power BI-SKU | Spark VCores | Max. virtuelle Spark-Kerne mit Burst-Faktor | 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 | Seite 3 | 512 | 1536 | 256 |
F512 | P4 | 1024 | 3072 | 512 |
F1024 | - | 2048 | 6144 | 1024 |
F2048 | - | 4096 | 12.288 | 2048 |
Testkapazität | P1 | 128 | 128 | Nicht verfügbar |
Wichtig
Die Tabelle gilt nur für Spark-Aufträge, die auf Fabric Capacity ausgeführt werden. Wenn die Abrechnung mit Autoskalierung aktiviert ist, werden Spark-Aufträge getrennt von der Fabric-Kapazität ausgeführt, sodass Bursting oder Glätten vermieden werden. Die Gesamtanzahl virtueller Spark-Kerne ist doppelt so hoch wie die maximalen Kapazitätseinheiten, die in Einstellungen zur Autoskalierung festgelegt sind.
Beispielberechnung
- Eine F64-SKU bietet 128 Spark VCores.
- Mit einem Burst-Faktor von 3 unterstützt es bis zu 384 Spark VCores für die gleichzeitige Ausführung.
- Wenn ein Pool mit den vollständigen 384 VCores konfiguriert ist, kann ein einzelner Auftrag alle verwenden, vorausgesetzt, keine anderen Aufträge verbrauchen Kapazität.
- Beispiel: 3 Aufträge mit 128 VCores können jeweils gleichzeitig oder 1 Auftrag mit 384 VCores ausgeführt werden.
Hinweis
Die Aufträge haben einen Warteschlangenablaufzeitraum von 24 Stunden, nach dem sie abgebrochen werden und Benutzende sie erneut zur Auftragsausführung übermitteln müssen.
Die Spark für Fabric-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 Zulassung von Arbeitsplätzen ist standardmäßig eine optimistische Zulassungskontrolle, bei der Arbeitsplätze basierend auf ihren Mindestkernanforderungen zugelassen werden. Weitere Informationen: Job Admission and Management.
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: Konfigurieren von Starterpools.
Administratoren können ihre Apache Spark-Pools so konfigurieren, dass die maximal verfügbaren Spark-VCores in der Kapazität genutzt werden, einschließlich des Burstfaktors von 3×, den Fabric für die gleichzeitige Ausführung bietet. Ein Arbeitsbereichsadministrator mit einer F64 Fabric-Kapazität kann z. B. seinen Spark-Pool (Starterpool oder benutzerdefinierter Pool) so konfigurieren, dass er bis zu 384 Spark-VCores verwendet:
Festlegen der maximalen Knoten des Starterpools auf 48 (mit mittleren Knoten = jeweils 8 VCores) oder
Konfigurieren eines benutzerdefinierten Pools mit größeren Knoten (z. B. XXLarge = 64 VCores jeweils) mit einer entsprechenden Knotenanzahl, um die gewünschte Kapazität zu erreichen.
Mit dieser Konfiguration kann ein einzelner Spark-Auftrag die gesamte Burst-Kapazität nutzen, was ideal für die Verarbeitung großer Datenmengen ist, die auf Leistung setzen.
Neu: Job-Level-Bursting-Kontrolle über das Verwaltungsportal. Kapazitätsadministratoren haben jetzt die Kontrolle über das Aktivieren oder Deaktivieren von Job-Level-Bursting durch eine neue Einstellung im Verwaltungsportal.
Navigieren Sie zum Verwaltungsportal → Registerkarte "Kapazitätseinstellungen" → Registerkarte "Data Engineering/Science"
Verwenden Sie den neuen Schalter "Deaktivierung Job-Level Bursting", um zu verhindern, dass ein einzelner Spark-Auftrag die gesamte verfügbare Burst-Kapazität verbraucht.
Hinweis
Wenn das Bursting auf Auftragsebene deaktiviert ist, erzwingt die Spark-Engine, dass kein einzelner Auftrag die gesamte verfügbare Kapazität (einschließlich Burst-Kerne) nutzen kann. Dadurch wird sichergestellt, dass die Kapazität für gleichzeitige Aufträge verfügbar bleibt, um den Durchsatz und die Parallelität mehrerer Benutzer zu verbessern.
Dieses Feature ist besonders in Umgebungen mit mehreren Mandanten oder in Umgebungen mit hoher Parallelität nützlich, in denen Arbeitsauslastungen über mehrere Teams und Pipelines hinweg ausgeglichen werden müssen. Administratoren können diese Einstellung darauf abstimmen, ob die Kapazität für maximalen Auftragsdurchsatz (Bursting aktiviert) oder für höhere Parallelität und Fairness optimiert ist (Bursting deaktiviert).
Beispielszenarien mit aktiviertem Bursting (Standard): Ein großer Batch-Notizbuchauftrag kann alle 384 Spark VCores in einer F64-Kapazität nutzen, sofern keine anderen Aufträge ausgeführt werden.
Bursting deaktiviert: Ein Auftrag kann auf das Basis-Core-Limit (z.B. 128 Spark VCores für F64) begrenzt werden, um Raum für andere Aufträge zu schaffen, die gleichzeitig gestartet werden können.
Tipp
Für Teams mit unterschiedlichen Jobtypen (ETL, ML, Adhoc) kann das Deaktivieren des Burstens auf Jobebene dazu beitragen, Kapazitätsmonopolisierung zu verhindern und Verzögerungen in der Jobwarteschlange zu verringern.
Zugehöriger Inhalt
- Erste Schritte mit den Verwaltungseinstellungen des Apache Spark-Arbeitsbereichs in Microsoft Fabric
- Erfahren Sie mehr über Apache Spark Compute für Fabric für Data Engineering- und Data Science-Workloads