Was ist Spark Compute in Microsoft Fabric?

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

Microsoft Fabric-Datentechnik- und Data Science-Umgebungen funktionieren auf einer vollständig verwalteten Spark-Computeplattform. Diese Plattform wurde entwickelt, um eine beispiellose Geschwindigkeit und Effizienz zu bieten. Bei Starterpools können Sie eine schnelle Initialisierung der Spark-Sitzung erwarten, in der Regel innerhalb von 5 bis 10 Sekunden, und es ist keine manuelle Einrichtung erforderlich. Darüber hinaus erhalten Sie auch die Flexibilität, Spark-Pools entsprechend den spezifischen Data Engineering- und Data Science-Anforderungen anzupassen. Die Plattform ermöglicht eine optimierte und maßgeschneiderte Analyseerfahrung.

Wichtig

Microsoft Fabric befindet sich in der Vorschau.

Starterpools

Starterpools sind eine schnelle und einfache Möglichkeit, Spark innerhalb von Sekunden auf der Microsoft Fabric-Plattform zu verwenden. Sie können Spark-Sitzungen sofort verwenden, anstatt darauf zu warten, dass Spark die Knoten für Sie eingerichtet hat, was Ihnen hilft, mehr mit Daten zu tun und schneller Erkenntnisse zu erhalten.

Abbildung einer Tabelle mit der Konfiguration des Starterpools.

Starterpools verfügen über Spark-Cluster, die immer aktiviert und für Ihre Anforderungen bereit sind. Sie verwenden mittlere Knoten, die basierend auf den Anforderungen Ihres Spark-Auftrags dynamisch hochskaliert werden.

Diagramm, das den allgemeinen Entwurf von Starterpools zeigt.

Starterpools verfügen auch über Standardeinstellungen, mit denen Sie Bibliotheken schnell installieren können, ohne die Startzeit der Sitzung zu verlangsamen. Wenn Sie jedoch zusätzliche benutzerdefinierte Spark-Eigenschaften oder Bibliotheken aus Ihren Arbeitsbereichs- oder Kapazitätseinstellungen verwenden möchten, kann es länger dauern, bis Spark die Knoten für Sie erhält. Sie zahlen nur für Starterpools, wenn Sie Spark-Sitzungen zum Ausführen von Abfragen verwenden. Sie zahlen nicht für den Zeitpunkt, zu dem Spark die Knoten für Sie bereit hält.

Spark-Pools

Ein Spark-Pool ist eine Möglichkeit, Spark mitzuteilen, welche Art von Ressourcen Sie für Ihre Datenanalyseaufgaben benötigen. Sie können Ihrem Spark-Pool einen Namen geben und auswählen, wie viele und wie groß die Knoten (die Computer, die die Arbeit erledigen) sind. Sie können Spark auch mitteilen, wie die Anzahl der Knoten angepasst werden soll, je nachdem, wie viel Arbeit Sie haben. Das Erstellen eines Spark-Pools ist kostenlos. Sie zahlen nur, wenn Sie einen Spark-Auftrag im Pool ausführen, und dann richtet Spark die Knoten für Sie ein.

Wenn Sie Ihren Spark-Pool nach Abschluss des Auftrags 2 Minuten lang nicht verwenden, löscht Spark ihn automatisch. Diese Eigenschaft wird als "time to live" -Eigenschaft bezeichnet, und Sie können sie bei Bedarf ändern. Wenn Sie Arbeitsbereichsadministrator sind, können Sie auch benutzerdefinierte Spark-Pools für Ihren Arbeitsbereich erstellen und diese zur Standardoption für andere Benutzer machen. Auf diese Weise können Sie Zeit sparen und vermeiden, jedes Mal, wenn Sie ein Notebook oder einen Spark-Auftrag ausführen, einen neuen Spark-Pool einzurichten. Der Start von benutzerdefinierten Spark-Pools dauert etwa drei Minuten, da Spark die Knoten aus Azure abrufen muss.

Die Größe und Anzahl der Knoten, die Sie in Ihrem benutzerdefinierten Spark-Pool haben können, hängt von Ihrer Microsoft Fabric-Kapazität ab. Kapazität ist ein Maß dafür, wie viel Rechenleistung Sie in Azure nutzen können. Eine Möglichkeit, sich dies vor augen zu machen, ist, dass zwei Spark-VCores (eine Einheit der Rechenleistung für Spark) einer Kapazitätseinheit entsprechen. Beispielsweise verfügt eine Fabric-Kapazitäts-SKU F64 über 64 Kapazitätseinheiten, was 128 Spark-VCores entspricht. Sie können diese Spark-VCores verwenden, um Knoten unterschiedlicher Größe für Ihren benutzerdefinierten Spark-Pool zu erstellen, solange die Gesamtzahl der Spark-VCores nicht mehr als 128 beträgt.

Mögliche benutzerdefinierte Poolkonfigurationen für F64 basierend auf dem vorherigen Beispiel:

Fabric-Kapazitäts-SKU Kapazitätseinheiten Spark-VCores Knotengröße Maximale Anzahl von Knoten
F64 64 128 Klein 32
F64 64 128 Medium 16
F64 64 128 Groß 8
F64 64 128 XL 4
F64 64 128 XX-Large 2

Hinweis

Zum Erstellen benutzerdefinierter Pools benötigen Sie Administratorberechtigungen für den Arbeitsbereich. Außerdem muss der Microsoft Fabric-Kapazitätsadministrator Berechtigungen erteilen, damit Arbeitsbereichsadministratoren ihre benutzerdefinierten Spark-Pools vergrößern können. Weitere Informationen finden Sie unter Erste Schritte mit benutzerdefinierten Spark-Pools in Fabric.

Nodes

Ein Apache Spark-Pool instance besteht aus einem Hauptknoten und zwei oder mehr Workerknoten mit mindestens drei Knoten in einer Spark-instance. Der Hauptknoten führt zusätzliche Verwaltungsdienste wie Livy, YARN Resource Manager, Zookeeper und den Spark-Treiber aus. Auf allen Knoten werden Dienste wie Node Agent und YARN Node Manager ausgeführt. Auf allen Workerknoten wird der Spark Executor-Dienst ausgeführt.

Knotengrößen

Ein Spark-Pool kann mit Knotengrößen definiert werden, die von einem kleinen Computeknoten (mit 4 virtuellen Kernen und 32 GB Arbeitsspeicher) bis zu einem großen Computeknoten (mit 64 virtuellen Kernen und 512 GB Arbeitsspeicher pro Knoten) reichen. Knotengrößen können nach der Poolerstellung geändert werden, obwohl die aktive Sitzung neu gestartet werden muss.

Size Virtueller Kern Arbeitsspeicher
Klein 4 32 GB
Medium 8 64 GB
Groß 16 128 GB
XL 32 256 GB
XX-Large 64 512 GB

Autoscale

Mit der Autoskalierung für Apache Spark-Pools können Sie Computeressourcen basierend auf dem Aktivitätsumfang automatisch hoch- bzw. herunterskalieren. Wenn das Feature für die Autoskalierung aktiviert ist, legen Sie die minimale und die maximale Anzahl der zu skalierenden Knoten fest. Wenn das Feature für die automatische Skalierung deaktiviert ist, bleibt die Anzahl der Knoten festgelegt. Diese Einstellung kann nach der Poolerstellung geändert werden, obwohl die instance möglicherweise neu gestartet werden muss.

Dynamische Zuordnung

Die dynamische Zuordnung ermöglicht es der Spark-Anwendung, weitere Executors anzufordern, wenn die Aufgaben die Last überschreiten, die aktuelle Executors tragen können. Außerdem werden die Executors freigegeben, wenn die Aufträge abgeschlossen sind und wenn die Spark-Anwendung in den Leerlaufzustand wechselt. Unternehmensbenutzer tun sich häufig schwer mit der Optimierung der Executorkonfigurationen, da sie sich in den verschiedenen Phasen eines Spark-Auftragsausführungsprozesses stark unterscheiden. Diese Konfigurationen hängen auch von der Menge der verarbeiteten Daten ab, die sich von Zeit zu Zeit ändert. Benutzer können die Option dynamische Zuordnung von Executors als Teil der Poolkonfiguration aktivieren, was die automatische Zuordnung von Executors zur Spark-Anwendung basierend auf den im Spark-Pool verfügbaren Knoten ermöglichen würde.

Wenn die Option dynamische Zuordnung für jede übermittelte Spark-Anwendung aktiviert ist, reserviert das System executors während des Auftragsübermittlungsschritts basierend auf den maximalen Knoten. Benutzer geben die maximale Anzahl von Knoten an, um Szenarien mit der automatischen Skalierung erfolgreich zu unterstützen.

Nächste Schritte