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 Computeeinheiten über Kapazität. Dabei handelt es sich um einen dedizierten Satz von 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 bietet Kapazität über die Fabric-SKUs und Testversionen. Weitere Informationen finden Sie unter Was ist Kapazität?
Wichtig
Microsoft Fabric befindet sich derzeit in der Vorschauversion. Diese Informationen beziehen sich auf eine Vorabversion des Produkts, an der vor der Veröffentlichung noch wesentliche Änderungen vorgenommen werden können. Microsoft übernimmt keine Garantie, weder ausdrücklich noch stillschweigend, für die hier bereitgestellten Informationen.
Wenn Benutzer 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 erhalten Benutzer zwei Spark-VCores für jede Kapazitätseinheit, die sie als Teil ihrer SKU reserviert erhalten.
Eine Kapazitätseinheit = zwei Spark-VCores
Sobald die Kapazität erworben wurde, können Administratoren Arbeitsbereiche innerhalb der Kapazität in Microsoft Fabric erstellen. Die der Kapazität zugeordneten Spark-VCores werden für alle Spark-basierten Elemente wie Notebooks, Spark-Auftragsdefinitionen und das lakehouse, das in diesen Arbeitsbereichen erstellt wurde, gemeinsam genutzt.
Parallelitätsdrosselung und Warteschlangeneinschränkung
Im folgenden Abschnitt werden verschiedene numerische Grenzwerte für Spark-Workloads aufgeführt, die auf Microsoft Fabric-Kapazitäts-SKUs basieren:
Kapazitäts-SKU | Entsprechende Power BI-SKU | Kapazitätseinheiten | Äquivalente Spark-VCores | Maximale Anzahl gleichzeitiger Aufträge | Warteschlangenlimit |
---|---|---|---|---|---|
F2 | - | 2 | 4 | 1 | 4 |
F4 | - | 4 | 8 | 1 | 4 |
F8 | - | 8 | 16 | 2 | 8 |
F16 | - | 16 | 32 | 5 | 20 |
F32 | - | 32 | 64 | 10 | 40 |
F64 | P1 | 64 | 128 | 20 | 80 |
Fabric-Testversion | P1 | 64 | 128 | 5 | - |
F128 | P2 | 128 | 256 | 40 | 160 |
F256 | P3 | 256 | 512 | 80 | 320 |
F512 | P4 | 512 | 1024 | 160 | 640 |
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. Da es verschiedene Elemente wie Notebooks, Spark-Auftragsdefinition und Lakehouse gibt, die Benutzer in jedem Arbeitsbereich verwenden können. Da die Nutzung zwischen den verschiedenen Unternehmensteams variiert, können Benutzer zu Hungerszenarien führen, in denen abhängigkeiten nur vom Typ des Elements bestehen, z. B. einer Spark-Auftragsdefinition. Dies kann dazu führen, dass Benutzer die Kapazität für die Ausführung eines Notebook-basierten Auftrags oder eines lakehouse-basierten Vorgangs wie Laden in Tabelle nutzen.
Um diese Blockierungsszenarien zu vermeiden, wendet Microsoft Fabric eine dynamische reservebasierte Drosselung für Aufträge aus diesen Elementen an. Notebook- und Lakehouse-basierte Aufträge, die interaktiver und echtzeitbasierter sind, werden als interaktiv klassifiziert. Während die Spark-Auftragsdefinition als Batch klassifiziert wird. Im Rahmen dieser dynamischen Reserve werden mindeste und maximale Reservegrenzen für diese Auftragstypen beibehalten. Die Reserven dienen hauptsächlich dazu, Anwendungsfälle zu adressieren, in denen ein Unternehmensteam Höchstauslastungsszenarien erleben könnte, bei denen die gesamte Kapazität durch Batchaufträge belegt wird. Während dieser Spitzenzeiten werden Benutzer daran gehindert, interaktive Elemente wie Notebooks oder Lakehouse zu verwenden. Bei diesem Ansatz erhält jede Kapazität eine Mindestreserve von 30 % der gesamten Aufträge für interaktive Aufträge (5 % für Lakehouse und 25 % für Notebooks) und eine Mindestreserve von 10 % für Batchaufträge.
Auftragstyp | Element | Min % | Max . % |
---|---|---|---|
Batch | Spark-Auftragsdefinition | 10 | 70 |
Interactive | Interactive Min und Max | 30 | 90 |
Notebook | 25 | 85 | |
Lakehouse | 5 | 65 |
Wenn sie diese Reserven überschreiten und die Kapazität maximal ausgelastet ist, werden interaktive Aufträge wie Notebooks und Lakehouse mit der Meldung HTTP-Antwortcode 430: Diese Anforderung kann nicht übermittelt werden, da derzeit die gesamte verfügbare Kapazität verwendet wird, gedrosselt. Brechen Sie einen aktuell ausgeführten Auftrag ab, erhöhen Sie Ihre verfügbare Kapazität, oder versuchen Sie es später erneut.
Wenn die Warteschlange aktiviert ist, werden Batchaufträge wie Spark-Auftragsdefinitionen der Warteschlange hinzugefügt und automatisch wiederholt, wenn die Kapazität freigegeben wird.
Hinweis
Die Aufträge haben einen Warteschlangenablauf von 24 Stunden, nach dem sie abgebrochen werden, und Benutzer müssten sie zur Auftragsausführung erneut übermitteln.