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.
Befolgen Sie diese Empfehlungen, um die Produktivität zu maximieren, Kosten zu senken und die Zuverlässigkeit zu verbessern, wenn Sie serverlose Berechnungen für Notizbücher, Aufträge und Pipelines auf Azure Databricks verwenden.
Migrieren von Workloads zu serverlosem Compute
Schritt-für-Schritt-Anleitungen zum Migrieren von klassischem Compute zu Serverless, einschließlich Voraussetzungen, erforderlichen Codeänderungen, Teststrategien und einem phasenweisen Rolloutplan, finden Sie unter Migrieren von klassischem Compute zu serverlosem Compute.
Angeben Python Paketversionen
Wenn Sie zu serverlosem Compute migrieren, heften Sie Ihre Python Pakete an bestimmte Versionen an, um reproduzierbare Umgebungen sicherzustellen. Wenn Sie keine Version angeben, kann das Paket basierend auf der Serverlosen Umgebungsversion zu einer anderen Version aufgelöst werden, wodurch die Latenz erhöht werden kann, da neue Pakete installiert werden müssen.
Ihre requirements.txt Datei sollte z. B. bestimmte Paketversionen enthalten, wie:
numpy==2.2.2
pandas==2.2.3
Verwenden eindeutiger Namen für temporäre Ansichten
Serverless Compute verwendet Spark Connect, eine Client-Server-Architektur, die temporäre Ansichten träge auswertet. Dieses Verhalten unterscheidet sich von der klassischen Spark-Architektur und kann Fehler verursachen, wenn Code denselben temporären Ansichtsnamen wie in einer Schleife wiederverwendet.
Um Fehler zu vermeiden, verwenden Sie eindeutige Namen für alle temporären Ansichten in Ihrem Code.
Netzwerk und Konnektivität
Serverless Compute unterstützt kein VPC-Peering, was eine gängige Möglichkeit ist, klassische Databricks-Rechenressourcen mit Datenquellen in Ihrem Cloud-Konto zu verbinden. Verwenden Sie alternativ Netzwerkkonnektivitätskonfigurationen , um Endpunkte, Firewalls und Verbindungen mit externen Diensten zu verwalten.
Sie können beispielsweise eine Reihe stabiler Ausgangs-IPs in externen VPCs zu einer Erlaubnisliste hinzufügen, um die Konnektivität mit und von Azure Databricks-Serverless-Computing zu ermöglichen. Verwenden Sie Lakeflow Connect, um eine Verbindung mit Unternehmensanwendungen (z. B. Salesforce) oder verwalteten Datenbanken (z. B. MySQL) herzustellen.
Um ausgehenden Datenverkehr von serverlosem Computing einzuschränken und zu überwachen, konfigurieren Sie Egress-Kontrollen in Ihrem Arbeitsbereich. Siehe Verwalten von Netzwerkrichtlinien für die Steuerung des serverlosen Ausgangs.
Serverlose Umgebungsversionen
Serverless Compute verwendet Umgebungsversionen anstelle herkömmlicher Databricks-Runtime-Versionen. Dies stellt eine Veränderung bei der Verwaltung der Workloadkompatibilität dar:
- Databricks-Runtime-Ansatz: Sie wählen eine bestimmte Databricks-Runtime-Version für Ihre Workload aus und verwalten Upgrades manuell, um die Kompatibilität zu gewährleisten.
- Serverless-Ansatz: Sie schreiben Code für eine Umgebungsversion, und Azure Databricks aktualisiert den zugrunde liegenden Server automatisch.
Umgebungsversionen bieten eine stabile Client-API, die sicherstellt, dass Ihre Workload kompatibel bleibt, während Azure Databricks unabhängig Leistungsverbesserungen, Sicherheitsverbesserungen und Fehlerbehebungen bereitstellt, ohne Dass Codeänderungen an Ihren Workloads erforderlich sind.
Jede Umgebungsversion enthält aktualisierte Systembibliotheken, Features und Fehlerbehebungen, während die Abwärtskompatibilität für Workloads beibehalten wird. Azure Databricks unterstützt jede Umgebungsversion drei Jahre ab dem Veröffentlichungsdatum und bietet einen vorhersehbaren Lebenszyklus für die Planung von Upgrades.
Informationen zum Auswählen einer Basisumgebung für Ihre serverlosen Arbeitsauslastung finden Sie unter Auswählen einer Basisumgebung. Ausführliche Informationen zu verfügbaren Umgebungsversionen und deren Features finden Sie unter Serverless-Umgebungsversionen.
Verwalten von Abhängigkeiten
Serverless Compute unterstützt keine Init-Skripts. Verwenden Sie stattdessen serverlose Umgebungen , um Bibliotheken für Ihre serverlosen Workloads zu installieren und zu verwalten. In Umgebungen werden installierte Pakete zwischengespeichert, wodurch die Startlatenz für nachfolgende Ausführungen reduziert wird.
Um Bibliotheken aus einem privaten Repository zu verwenden, konfigurieren Sie vorsignierte URLs für den authentifizierten Repositoryzugriff in Ihren Umgebungseinstellungen.
Auswählen eines Leistungsmodus
Azure Databricks serverlose Berechnung bietet zwei Leistungsmodi, mit denen Sie Geschwindigkeit und Kosten basierend auf Ihrem Workloadtyp wie folgt ausgleichen können:
- Leistungsoptimierter Modus (Standard): Am besten geeignet für interaktive Workloads, die schnelle Startzeiten erfordern. Azure Databricks hält einen Pool warmer Computeressourcen bereit, um die Wartezeit zu minimieren.
- Standardmodus: Am besten geeignet für automatisierte Batchaufträge und Pipelines, die längere Startzeiten von 4 bis 6 Minuten tolerieren können. Der Standardmodus kann die Kosten um bis zu 70% im Vergleich zum leistungsoptimierten Modus reduzieren. Der Standardmodus ist für Lakeflow-Aufträge und Lakeflow Spark Declarative Pipelines, aber nicht für Notizbücher verfügbar.
Wählen Sie den Modus aus, der Ihren Workloadanforderungen am besten entspricht. Bei geplanten Aufträgen, bei denen die Startlatenz nicht kritisch ist, bietet der Standardmodus in der Regel den besten Wert. Aktuelle Preisdetails finden Sie auf der Preisseite "Databricks".
Optimierung von Streaming-Arbeitslasten
Serverless Compute unterstützt strukturiertes Streaming mit Trigger.AvailableNow. Zeitbasierte Triggerintervalle werden nicht unterstützt. Ausführliche Informationen zu unterstützten Triggern, Codebeispielen und Alternativen für kontinuierliches Streaming finden Sie im Abschnitt "Streaming " des Migrationshandbuchs.
Bei Verwendung Trigger.AvailableNowverarbeitet jeder Trigger alle verfügbaren Daten in der Quelle, was zu größeren Mikrobatches führen kann als ein zeitbasierter Trigger. Um Arbeitsspeicherfehler zu vermeiden und eine vorhersehbare Leistung aufrechtzuerhalten, beschränken Sie die Menge der pro Mikrobatch verarbeiteten Daten durch Festlegen maxFilesPerTrigger oder .maxBytesPerTrigger
Debugging serverlose Arbeitslasten
Die Spark-Benutzeroberfläche ist in serverloser Berechnung nicht verfügbar. Verwenden Sie stattdessen das Abfrageprofil , um die Abfrageleistung zu analysieren und Workloads zu beheben. Das Abfrageprofil bietet detaillierte Ausführungsinformationen und kann über den Abfrageverlauf in der benutzeroberfläche Azure Databricks zugänglich sein.
Aufnehmen von Daten aus externen Systemen
Zu den alternativen Strategien, die Sie für die Aufnahme verwenden können, gehören:
- SQL-basierte Bausteine wie COPY INTO und Streamingtabellen
- Der Autoloader zum inkrementellen und effizienten Verarbeiten neuer Datendateien, sobald sie im Cloudspeicher empfangen werden. Weitere Informationen finden Sie unter Automatisches Laden.
- Lösungen für Datenaufnahme-Partner Siehe Herstellen einer Verbindung mit Erfassungspartnern mittels Partner Connect.
- Fügen Sie die Daten-UI hinzu, um Dateien direkt hochzuladen. Weitere Informationen finden Sie unter Erstellen oder Ändern einer Tabelle mithilfe des Dateiuploads.
Aufnahmealternativen
Wenn Sie serverlose Computes verwenden, können Sie auch die folgenden Features verwenden, um Ihre Daten abzufragen, ohne sie zu verschieben.
- Wenn Sie die Datenduplizierung einschränken möchten oder garantieren möchten, dass Sie die neuesten Daten abfragen, empfiehlt Databricks die Verwendung der Delta-Freigabe. Weitere Informationen finden Sie unter Was ist Delta Sharing?.
- Für Ad-hoc-Berichterstellung und Proof-of-Concept-Arbeiten können Sie externe Datenbanken direkt aus Azure Databricks abfragen, ohne dass die Daten verschoben werden müssen, wobei die Verwaltung durch den Unity-Katalog erfolgt. Weitere Informationen finden Sie unter Was ist Lakehouse Federation?.
Probieren Sie eines oder beide dieser Features aus und überprüfen Sie, ob sie die Anforderungen an die Abfrageleistung erfüllen.
Nicht unterstützte Senken
Wenn ein Senkensystem nicht als direktes Schreibziel von serverlosen Berechnungen unterstützt wird, können Sie den Unity Catalog Iceberg REST-Katalog verwenden, um es diesem System zu ermöglichen, direkt aus Azure Databricks Tabellen zu lesen. Snowflake ist z. B. kein unterstützter serverloser Sink, kann aber als Iceberg-Client konfiguriert werden, um Tabellen zu lesen, die vom Unity-Katalog verwaltet werden.
Dieser Ansatz vermeidet das Duplizieren von Daten und hält Unity Catalog als Governance-Ebene für alle Lesezugriffe. Unterstützte Clients und Konfigurationsschritte finden Sie unter Access Azure Databricks Tabellen von Apache Iceberg-Clients.
Unterstützte Spark-Konfigurationen
Um die Konfiguration von Spark auf serverlosem Compute zu automatisieren, hat Azure Databricks die Unterstützung für die manuelle Einstellung der meisten Spark-Konfigurationen entfernt. Eine Liste der unterstützten Spark-Konfigurationsparameter finden Sie unter Konfigurieren von Spark-Eigenschaften für serverlose Notizbücher und Aufträge.
Aufträge auf serverlosen Ressourcen schlagen fehl, wenn Sie eine nicht unterstützte Spark-Konfiguration festlegen.
Überwachen der Kosten für serverlose Berechnung
Es gibt mehrere Features, die Sie verwenden können, um die Kosten für serverloses Computing zu überwachen:
- Verwenden Sie Serverless-Verwendungsrichtlinien, um die serverlose Rechnernutzung zuzuordnen.
- Verwenden Sie Systemtabellen, um Dashboards zu erstellen, Warnungen einzurichten und Ad-hoc-Abfragen auszuführen. Siehe Überwachen der Kosten für serverloses Computing.
- Richten Sie Budgetwarnungen in Ihrem Konto ein. Siehe Erstellen und Überwachen von Budgets.
- Importieren sie ein vorkonfiguriertes Verbrauchsdashboard. Siehe Importieren eines Nutzungsdashboards.