Auswählen zwischen Python- und PySpark-Notizbüchern in Microsoft Fabric

Mit der Einführung von einfachen Python-Notizbüchern in Microsoft Fabric verfügen Kunden jetzt über zwei robuste Optionen zum Erstellen und Skalieren von Analyseworkflows: Python-Notizbücher und PySpark-Notizbücher. Beide bieten zwar eine vertraute Notizbuchschnittstelle, unterscheiden sich jedoch erheblich bei der Verwaltung von Computeressourcen, Skalierbarkeit und Kosteneffizienz.

Fabric vereinfacht den Auswahl- oder Wechselprozess zwischen Notebook-Typen, sodass Datenprofis die Flexibilität, Leistung und Kostenoptimierung maximieren können. Dieser Leitfaden soll Ihnen helfen, zu bewerten, welches Notizbuch für Ihre aktuellen Anforderungen am besten geeignet ist und wie Sie Ihren Ansatz weiterentwickeln können, wenn Ihre Workloads in Komplexität und Skalierung wachsen. Der "Startpool" bietet einen vorab aufgewärmten Computecontainer, der den sofortigen Start für Python- oder PySpark-Notizbücher ermöglicht.

Schnellentscheidungsmatrix – Schnell auswählen

Am besten geeignet für die schnelle Auswahl basierend auf dem Workloadtyp.

Verwenden Sie diese allgemeine Referenz, um schnell den am besten geeigneten Notizbuchtyp für allgemeine Workloadmuster zu ermitteln. Diese Tabelle eignet sich am besten für Frühzeitige Planungs- und Architekturüberprüfungen.

Szenario Empfohlenes Notebook
Enthält vorinstallierte DuckDB- und Polars-Bibliotheken Python-Notizbücher
Kleine bis mittlere Daten (passt in den Arbeitsspeicher) Python-Notizbücher (oder PySpark auf einem Spark-Cluster mit einem Knoten)
Schnelle Erkundung und Prototyperstellung Python-Notizbücher (oder PySpark auf einem Spark-Cluster mit einem Knoten)
Große Datasets (10 GB+) überschreiten den Arbeitsspeicher PySpark-Notizbücher
Komplexe Datenworkflows oder ETL-Pipelines PySpark-Notizbücher
Hohe Parallelität oder parallele Ausführung PySpark-Notizbücher
Benötigt Spark-native APIs (MLlib, SQL, Streaming) PySpark-Notizbücher

Schnelle Zusammenfassung der wichtigsten Szenarien – Tief vergleichen

Verwenden Sie diese strukturierte Vergleichstabelle, um die architektonischen und betrieblichen Kompromisse zwischen Notizbuchtypen zu verstehen. Am besten geeignet für technische Auswertungen oder Implementierungsplanung.

Ausführung und Leistung

Szenario Python-Notizbücher (2-Kern-VM) PySpark-Notizbücher (Spark Compute)
Startzeit Der integrierte Starterpool wird in etwa 5 Sekunden initialisiert, während der bedarfsorientierte Pool ungefähr 3 Minuten benötigt. Der Startvorgang reicht von ca. 5 Sekunden (Starter-Pool) bis zu mehreren Minuten (On-Demand Spark-Cluster).
Schnelle Transformationen und API-Aufrufe Ideal für kleine bis mittelgroße Datasets (bis zu 1 GB) Optimiert für große Datasets mit vektorisierter Ausführung.
Mäßige Arbeitslasten Nicht für Datengrößen optimiert, die sich der Speichersättigung nähern Effizient bei der Skalierung über verteilte Rechenkapazitäten.
Umgang mit großen Datasets Begrenzt durch den Speicher eines einzelnen Knotens. Kann Schwierigkeiten mit der Skalierbarkeit haben. Verteilte Verarbeitung gewährleistet eine skalierbare Verarbeitung von Workloads im Bereich von mehreren GB bis hin zu TB.
High-Concurrency Ausführung Manuelle FIFO-Parallelität pro Notizbuch Vom System verwaltete Parallelität mit Unterstützung für parallele Ausführung.
Ressourcenanpassung und Skalierung Feste Berechnung (2-Core-VM); wird nicht automatisch skaliert. Benutzer können mithilfe von %%config innerhalb des Notizbuchs manuell skalieren. Flexible Ressourcenzuordnung; unterstützt automatische Skalierung und benutzerdefinierte Spark-Konfigurationen.

Workflow und Orchestrierung

Szenario Python-Notizbücher (2-Kern-VM) PySpark-Notizbücher (Spark Compute)
API-Orchestrierung Effektiv für einfache Orchestrierungs- und Steuerungsflüsse, insbesondere REST/gRPC-basierte Integrationen Weniger optimal für grundlegende Orchestrierungsaufgaben aufgrund längerer Startvorlaufzeit und verteiltem Overhead.
Komplexe ETL-DAGs Beschränkt auf die sequenzielle (FIFO)-Aufgabenausführung auf einem einzelnen Knoten, ohne Unterstützung für parallele Verarbeitung. Unterstützt gleichzeitige Aufgabenausführung innerhalb von DAGs mithilfe der FlFO- oder FAlR-Planung und ermöglicht eine effiziente parallele Verarbeitung für komplexe ETL-Workflows.

Plattform- und Bibliotheksunterstützung

Szenario Python-Notizbücher (2-Kern-VM) PySpark-Notizbücher (Spark Compute)
Bibliothekszugriff Starke Python-Bibliotheksunterstützung für mehrere Laufzeiten; Der eingeschränkte Zugriff auf Spark-native Bibliotheken erfordert jedoch möglicherweise eine manuelle Integration. Unterstützt vollständig MLlib, Spark SQL, PySpark und Spark Streaming.
Delta Lake Handling Die Python-Notizbuch-Laufzeit enthält vorinstallierte Deltas und Duckdb-Bibliotheken , die sowohl das Lesen als auch das Schreiben von Delta Lake-Daten ermöglichen. Einige Delta Lake-Features werden jedoch möglicherweise noch nicht unterstützt. Vollständig unterstützt mit nativer Kompatibilität.

Produktions- und Unternehmensbereitschaft

Szenario Python-Notizbücher (2-Kern-VM) PySpark-Notizbücher (Spark Compute)
Produktionsmanagement Eingeschränkte Produktionsmerkmale; Unterstützt keine Umgebungsvariablen. Unterstützung für Produktionsworkflows mit Umgebungsvariablen, Bibliotheksverwaltung über Umgebungselemente und elementbasierte Bereitstellung.

Kostenüberlegungen

Szenario Python-Notizbücher (2-Kern-VM) PySpark-Notizbücher (Spark Compute)
Kostenprofil Niedrigere Anfangskosten (mindestens 2 vCores); am besten geeignet für einfache Ad-hoc-Workloads. Höhere Anfangskosten (mindestens 4 vCores); für skalierbare Workloads auf Unternehmensniveau ausgelegt. Die Automatische Skalierung kann die Kosten reduzieren, was zu einer niedrigeren Gesamtbetriebskosten (TCO) führt.

Wann Python anstelle von PySpark-Notizbüchern verwendet werden sollte

Fabric-Notizbücher bieten Flexibilität für eine breite Palette von Benutzern und Workloads. Dieser Abschnitt hilft Ihnen, zu bewerten, welcher Notizbuchtyp am besten ihren aktuellen und zukünftigen Anforderungen entspricht.

Verwenden Sie Python-Notizbücher für schnelle Iteration, kostengünstige Analyse und interaktive Entwicklung. Sie eignen sich ideal für kleinere Datasets und enthalten native Unterstützung für Bibliotheken wie DuckDB und Polars.

Verwenden Sie PySpark-Notizbücher für verteilte Computer, ETL-Workflows auf Produktionsniveau oder Szenarien, in denen hohe Parallelität und Spark-native APIs unerlässlich sind.

Wählen Sie Python-Notizbücher aus, wenn:

  • Sie benötigen einen schnellen Start (in der Regel innerhalb von Sekunden) auf einem ressourcenschonenden 2-Core-Container.
  • Wenn die Minimierung der Berechnungskosten eine Priorität ist – für interaktive Analysen oder geplante Mikroaufträge.
  • Sie möchten sofortigen Zugriff auf pip-installierbare Bibliotheken und vorinstallierte DuckDB und Polars.
  • Sie müssen in verschiedenen Python-Laufzeitversionen testen.
  • Ihre Daten passen bequem in den Speicher eines einzelnen Knotens.

Wählen Sie PySpark-Notizbücher aus, wenn:

  • Ihre Workloads überschreiten die Speicher- oder Computegrenzwerte eines einzelnen Knotens.
  • Sie benötigen Pools mit hoher Parallelität, um parallele Aufträge in Notizbüchern auszuführen.
  • Sie orchestrieren komplexe ETL-Pipelines mit FAIR- oder FIFO-Planung.
  • Sie verlassen sich auf Spark-native APIs wie MLlib, Spark SQL oder Spark Streaming.
  • Sie benötigen Features auf Produktionsniveau wie Umgebungsvariablen und elementbasierte Bibliotheksverwaltung.

Wichtige Unterschiede auf einen Blick – Kurzübersicht

Siehe Glossar am Ende dieses Leitfadens für Definitionen von Begriffen wie VORDER, NEE und Items-Based Bibliotheksmanagement.

Dieser Abschnitt enthält eine Kurzübersicht über die grundlegenden technischen und architektonischen Unterschiede zwischen Python und PySpark Notebooks.

Kategorie Python-Notizbücher PySpark-Notizbücher
Rechnerlaufzeit Leichtgewichtiger Container (2-Kern-VM) Spark-Cluster (Einzelknoten oder Pool mit hoher Gleichzeitigkeit)
Startzeit Sofortiges Starten (Sekunden über Startpool) Der Startvorgang dauert zwischen ca. 5 Sekunden (über den Starter-Pool) und mehreren Minuten (bei der Verwendung von On-Demand-Spark-Clusters).
Kostenprofil Niedrigere Kosten; ideal für kurze Aufgaben und Prototypen Höhere Kosten; geeignet für skalierbare, langlebige Workloads
Python/Spark-Versionsverwaltung Mehrere Python-Versionen verfügbar An bestimmte Spark-Laufzeitversion gebunden
Benutzerdefinierte Bibliotheken pip install + Ressourcenordner pip install + Ressourcenordner + Umgebungselement
Fabric Spark-Funktionen Eingeschränkter Zugriff auf Spark Engine-Features Vollzugriff: NEE, Autotune, VORDER, Vegas Cache
Delta Lake Kompatibilität Teilweise kompatibel; Potenzielle Leistungsprobleme Vollständig unterstützt und optimiert

Entwickeln Ihrer Arbeitsauslastung: von Python zu PySpark

Fabric-Notizbücher sind so konzipiert, dass sie mit Ihrer Workloadkomplexität wachsen. In diesem Abschnitt wird beschrieben, wie Sie Ihre Notizbuchstrategie von der einfachen Erkundung bis hin zur verteilten Datenverarbeitung skalieren können.

Etappe Empfohlenes Notebook Triggerbedingung
Starten Python-Notizbücher (2-Core) Kleine, interaktive Workloads
Vergrößern Python-Notizbücher (Manueller Wechsel zu größerer VM) Näherung von Arbeitsspeicher- oder CPU-Grenzwerten
Horizontale Skalierung PySpark-Notizbücher (Manueller Umstieg auf Spark Pool) Notwendigkeit für verteilte Rechenleistung oder parallele Ausführung

Tipp

Stellen Sie beim Übergang zu PySpark sicher, dass Ihr Code Spark-kompatible Syntax verwendet. Überprüfen Sie Ihre Workloads in der Spark-Umgebung, bevor Sie sie in der Produktion bereitstellen.

Zusammenfassung

Python-Notizbücher unterstützen Kernelvorgänge wie das Unterbrechen und Neustarten des Kernels, wodurch die interaktive Entwicklung beschleunigt wird. Sie eignen sich ideal für eine schnelle, kostengünstige Analyse von kleinen bis mittleren Datensätzen und sind hervorragend bei der Prototyperstellung, Experimentierung und leichtgewichtigen geplanten Aufgaben.

Mit zunehmendem Datenvolumen und steigender Komplexität bieten PySpark Notebooks die verteilte Rechenleistung und die benötigten Produktionsfunktionen für groß angelegte Unternehmensanalysen. Die Auswahl des richtigen Notizbuchs ist ein sich entwickelnder Prozess. Beginnen Sie mit der einfachsten Option, die Ihren aktuellen Anforderungen entspricht, und skalieren Sie, wenn Ihre Datenlandschaft wächst.

Im Glossar auf der letzten Seite finden Sie Erläuterungen zu Begriffen wie NEE, VORDER und Vegas Cache.

Glossarbegriffe

  • Item-Based Bibliotheksverwaltung: Verwaltet versionsierte Pakete und Produktionsbibliotheken innerhalb des Umgebungselements.
  • Delta Lake-Kompatibilität: Umgebungsübergreifende Unterstützung für Delta-Tabellen; vollständig unterstützt in PySpark.
  • FAIR-Zuteilung: Eine Zuteilungsrichtlinie, die Ressourcen gleichmäßig auf gleichzeitig laufende Spark-Aufträge verteilt.
  • FIFO-Planung: First-In-First-Out Ausführungsreihenfolge für die Auftragsplanung.
  • NEE (Native Execution Engine): Eine optimierte Abfrage-Engine, die für Fabric Spark einzigartig ist.
  • Spark Pool: Eine gemeinsam genutzte Computeressource für die Ausführung verteilter Spark-Workloads.
  • VORDER: Fabric-Optimierung für vektorisierte Abfrageausführungspfade.
  • Vectorisierte Beschleunigung: Verarbeitet Daten in Batches mithilfe von Vektorvorgängen zur schnelleren Leistung.
  • Vegas Cache: Ein Speichercache, der wiederholten Spark-Datenzugriff beschleunigt.