Konfigurieren der serverlosen Umgebung

Auf dieser Seite wird erläutert, wie Sie die serverlose Umgebung für Notizbücher und Auftragsaufgaben konfigurieren. Für Standard-Serverless-Notizbücher verwenden Sie den Seitenbereich Umgebung, um eine Basisumgebung auszuwählen, notizbuchspezifische Abhängigkeiten zu installieren, den Speicher zu konfigurieren und Nutzungsrichtlinien anzuwenden. Konfigurieren Sie bei Auftragsaufgaben die Umgebung, wenn Sie eine Aufgabe erstellen oder bearbeiten.

Bei Shared Serverless verwenden Notizbücher und Dateien im selben Git-Ordner oder -Bundle eine Umgebung, die von einer pyproject.toml Datei im Projektroot verwaltet wird, anstatt einer notebook-bezogenen Abhängigkeitsliste. Siehe Verwalten der Shared-Serverless-Umgebung.

Um die Umgebung-Seitenleiste auszuklappen, klicken Sie rechts neben dem Notebook auf die Schaltfläche Umgebung.

Bereich

Auswählen einer Basisumgebung

Eine Basisumgebung bestimmt die vorinstallierten Bibliotheken und Umgebungsversion, die für Ihr serverloses Notizbuch verfügbar ist. Die Basisumgebungsauswahl im Seitenbereich "Umgebung " ist der Ort, an dem Sie Ihre Umgebung auswählen. Informationen zu den einzelnen Umgebungsversionen finden Sie unter Serverless Environment Versions. Databricks empfiehlt die Verwendung der neuesten Version, um die meisten up-to-date-Notizbuchfunktionen zu erhalten.

Die Auswahl der Basisumgebung umfasst die folgenden Optionen:

  • Standard: Die standardmäßige serverlose Basisumgebung mit von Databricks bereitgestellten Bibliotheken.
  • ML: Eine Basisumgebung mit den Python und Systempaketen von Databricks Runtime für Machine Learning vorinstalliert. Verwenden Sie diese Umgebung, um die klassische Databricks-Runtime für Machine Learning Workloads auf serverlose Berechnung zu migrieren. Siehe ML-Basisumgebung.
  • KI: Eine KI-optimierte Basisumgebung mit vorinstallierten ML-Bibliotheken (Machine Learning). Diese Option wird nur angezeigt, wenn ein Beschleuniger (GPU) ausgewählt ist. Siehe KI-Umgebung.
  • Weitere Optionen: Erweitert, um weitere Optionen anzuzeigen:
    • Frühere Versionen von Standard-, ML- und KI-Umgebungen.
    • Benutzerdefiniert: Geben Sie eine benutzerdefinierte Umgebung mithilfe einer YAML-Datei an.
  • Arbeitsbereichsumgebungen: Listet alle kompatiblen Basisumgebungen auf, die von einem Administrator für Ihren Arbeitsbereich konfiguriert wurden.

So wählen Sie eine Basisumgebung aus:

  1. Klicken Sie in der Notebook-Benutzeroberfläche auf den Seitenbereich UmgebungUmgebung.
  2. Wählen Sie unter "Basisumgebung" im Dropdownmenü eine Umgebung aus.
  3. Klicken Sie auf Anwenden.

Hinzufügen von Abhängigkeiten zum Notizbuch

Da serverlos keine Compute-Richtlinien oder Initialisierungsskripts unterstützt, müssen Sie benutzerdefinierte Abhängigkeiten über den Seitenbereich Umgebung installieren. Du kannst Abhängigkeiten einzeln installieren oder eine teilbare Basisumgebung nutzen, um mehrere Abhängigkeiten gleichzeitig zu installieren.

Azure Databricks die virtuelle Umgebung Ihres Notizbuchs zwischenspeichert, sodass Abhängigkeiten nicht jedes Mal neu installiert werden, wenn Sie ein Notizbuch erneut öffnen oder nach inaktivität fortsetzen. Auftragsaufgaben, die denselben Abhängigkeitssatz gemeinsam nutzen, profitieren auch von diesem Cache innerhalb einer Ausführung.

So installieren Sie eine Abhängigkeit einzeln:

  1. Klicken Sie in der Notebook-Benutzeroberfläche auf den Seitenbereich UmgebungUmgebung.

  2. Im Abschnitt Abhängigkeiten geben Sie den Pfad der Abhängigkeit im Feld ein und klicken dann auf +Abhängigkeit hinzufügen. Sie können eine Abhängigkeit in einem beliebigen Format angeben, das in einer Datei vom Typ requirements.txt gültig ist. Python-Wheel-Dateien oder Python-Projekte (z. B. das Verzeichnis mit einem pyproject.toml oder einem setup.py) können sich in Arbeitsbereichsdateien oder Unity-Katalogvolumen befinden.

    • Wenn Sie eine Datei des Arbeitsbereichs verwenden, sollte der Pfad absolut sein und mit /Workspace/ beginnen.
    • Wenn Sie eine Datei in einem Unity-Katalogvolume verwenden, sollte der Pfad im folgenden Format vorliegen: /Volumes/<catalog>/<schema>/<volume>/<path>.whl
  3. Klicken Sie auf Apply, um die Abhängigkeiten zu installieren und den Python Prozess neu zu starten.

Important

Installieren Sie weder PySpark noch Bibliotheken, die PySpark als Abhängigkeit installieren, in Ihren serverlosen Notebooks. Das Ausführen dieser Aktion wird Ihre Sitzung beenden und einen Fehler verursachen. Entfernen Sie in diesem Fall die Bibliothek, und setzen Sie Ihre Umgebung zurück.

Um installierte Abhängigkeiten anzuzeigen, klicken Sie im Seitenbereich "Umgebungen" auf die Registerkarte "Installiert". Öffnen Sie die pip-Installationsprotokolle für die Notebook-Umgebung, indem Sie am unteren Rand des Bereichs auf pip-Logs klicken.

Note

Serverlose Rechenleistung garantiert keine spezifische CPU-Architektur. Ein Notebook oder ein Job kann entweder auf aarch64 oder auf x86_64 ausgeführt werden, und die Architektur kann sich zwischen den Ausführungen ändern. Da eine Abhängigkeit auf einer anderen Architektur installiert werden kann als die, für die sie entwickelt wurde, müssen deine Abhängigkeiten jede Architektur unterstützen, die der Compute verwenden könnte.

Wenn eine Abhängigkeit ein Python-Rad mit nativen (C)-Erweiterungen ist, ist ihr vorgefertigtes Binärsystem architekturspezifisch. Ein für eine Architektur gebautes Rad kann auf einer anderen nicht installiert werden, was einen Fehler zurückgibt. Um dies zu vermeiden, verwenden Sie, wo möglich, reine Python-Räder (getaggt py3-none-any) oder integrieren Sie beide aarch64 und x86_64 Radvarianten und schränken sie mit einem platform_machine Umgebungsmarker auf ihre Architektur ein.

Note

Azure Databricks löst und installiert Abhängigkeiten, bevor Ihr Notizbuch oder Taskcode ausgeführt wird. Code in einer Notizbuchzelle kann nicht ändern, wie Abhängigkeiten abgerufen werden. Serverloses Computing unterstützt außerdem keine compute-spezifischen Umgebungsvariablen, sodass Proxy-Einstellungen, die zur Laufzeit festgelegt werden, keine Auswirkungen auf die Installation von Abhängigkeiten haben. Um aus einem privaten oder authentifizierten Paket-Repository zu installieren, geben Sie in der Abhängigkeitsspezifikation extra-index-url oder index-url an. Du kannst auch einen Workspace-Admin bitten, das Repository als Standard-Paketrepository zu konfigurieren. Siehe Standard-Paket-Repositorien konfigurieren.

Standard-Paket-Repositories konfigurieren

Administratoren des Arbeitsbereichs können private oder authentifizierte Paket-Repositorys als PIP-Standardquelle für serverlose Notebooks und Aufträge konfigurieren. Auf diese Weise können Benutzer Pakete aus internen Repositorys installieren, ohne index-url oder extra-index-url anzugeben. Siehe Standard-Paket-Repositorien konfigurieren.

Erstellen einer benutzerdefinierten Umgebungsspezifikation

Sie können benutzerdefinierte Umgebungsspezifikationen erstellen und wiederverwenden.

  1. Wählen Sie in einem serverlosen Notizbuch eine Basisumgebung aus, und installieren Sie alle gewünschten Abhängigkeiten.
  2. Klicken Sie auf das Kebab-Menüsymbol. Klicken Sie unten im Umgebungsbereich auf das Kebab-Menüsymbol, und klicken Sie dann auf "Umgebung exportieren".
  3. Speichern Sie die Spezifikation als Arbeitsbereichsdatei oder in einem Unity-Katalogvolume. Stellen Sie sicher, dass Sie über die Berechtigung zum Schreiben an das Ziel verfügen oder der Export mit einem Forbidden Fehler fehlschlägt.

Wenn Sie Ihre benutzerdefinierte Umgebungsspezifikation in einem Notizbuch verwenden möchten, wählen Sie im Dropdownmenü "Basisumgebung" die Option "Benutzerdefiniert" aus, und verwenden Sie dann das Ordnerordnersymbol, um Ihre YAML-Datei auszuwählen.

Erstellen allgemeiner Tools für die gemeinsame Nutzung in Ihrem Arbeitsbereich

In diesem Beispiel wird ein Dienstprogramm in einer Arbeitsbereichsdatei gespeichert und als serverlose Notizbuchabhängigkeit installiert:

  1. Erstellen Sie einen Ordner mit der folgenden Struktur. Stellen Sie sicher, dass andere Benutzer Lesezugriff auf diesen Pfad haben:

    helper_utils/
    ├── helpers/
    │   └── __init__.py   # your common functions live here
    ├── pyproject.toml
    
  2. Füllen Sie dies pyproject.toml wie folgt aus:

    [project]
    name = "common_utils"
    version = "0.1.0"
    
  3. Fügen Sie der init.py Datei eine Funktion hinzu. Beispiel:

    def greet(name: str) -> str:
        return f"Hello, {name}!"
    
  4. Klicken Sie in der Notebook-Benutzeroberfläche auf den Seitenbereich UmgebungSymbol „Umgebung“.

  5. Klicken Sie im Abschnitt "Abhängigkeiten" auf "Abhängigkeit hinzufügen ", und geben Sie dann den Pfad der util-Datei ein. Beispiel: /Workspace/helper_utils.

  6. Klicken Sie auf Anwenden.

Sie können nun die Funktion in Ihrem Notizbuch verwenden:

from helpers import greet
print(greet('world'))

Das wird ausgegeben als:

Hello, world!

Verwenden der KI-Runtime (serverlose GPU)

Important

Dieses Feature befindet sich in der Public Preview.

Führen Sie die folgenden Schritte aus, um die AI Runtime, die auf serverloser GPU-Rechenleistung basiert, in Ihrem Azure Databricks-Notebook zu konfigurieren:

  1. Klicken Sie in einem Notizbuch oben auf das Dropdownmenü "Compute", und wählen Sie "Serverless GPU" aus.
  2. Klicken Sie auf das Symbol Um den Seitenbereich "Umgebung " zu öffnen.
  3. Wählen Sie A10 aus dem Feld Beschleuniger aus.
  4. Wählen Sie unter "Basisumgebung" die Option "Standard " für die Standardumgebung oder KI für die KI-optimierte Umgebung mit vorinstallierten ML-Bibliotheken (Machine Learning) aus.
  5. Klicken Sie auf Übernehmen und Bestätigen Sie dann, dass Sie KI-Laufzeit auf Ihre Notebook-Umgebung anwenden möchten.

Weitere Details finden Sie unter AI Runtime.

Verwenden Sie serverlose Berechnung mit hohem Speicherbedarf

Important

Dieses Feature befindet sich in der Public Preview.

Wenn in Ihrem Notizbuch Fehler im Arbeitsspeicher auftreten, konfigurieren Sie das Notizbuch so, dass eine höhere Arbeitsspeichergröße verwendet wird. Diese Einstellung für die Arbeitsspeichergröße erhöht die Größe des REPL-Speichers, der beim Ausführen von Code im Notizbuch verwendet wird. Sie wirkt sich nicht auf die Speichergröße der Spark-Sitzung aus. Die serverlose Verwendung mit hohem Arbeitsspeicher hat eine höhere DBU-Emissionsrate als standardspeicher.

Die verfügbaren Speicheroptionen sind:

  • Standard: 16 GB Gesamtspeicher.
  • Hoch: 32 GB Gesamtspeicher.

So konfigurieren Sie die Speichereinstellung des Notizbuchs:

  1. Klicken Sie in der Notebook-Benutzeroberfläche auf den Seitenbereich UmgebungUmgebung.
  2. Unter Speicherwählen Sie Hoher Arbeitsspeicheraus.
  3. Klicken Sie auf Anwenden.

Diese Speichereinstellung gilt auch für Notebook-Aufgaben in Jobs, die die Speichervoreinstellungen des Notebooks verwenden. Das Aktualisieren der Speichereinstellung im Notizbuch wirkt sich auf die nächste Auftragsausführung aus.

Auswählen einer serverlosen Nutzungsrichtlinie

Important

Dieses Feature befindet sich in der Public Preview.

Serverlose Nutzungsrichtlinien ermöglichen Es Ihrer Organisation, benutzerdefinierte Tags auf serverlose Verwendung für eine differenzierte Abrechnungszuordnung anzuwenden.

Wenn Ihr Arbeitsbereich serverlose Nutzungsrichtlinien verwendet, wählen Sie die Richtlinie aus, die Sie auf das Notizbuch anwenden möchten. Wenn ein Benutzer nur einer serverlosen Nutzungsrichtlinie zugewiesen ist, gilt diese Richtlinie standardmäßig.

Nachdem Sie mit serverloser Rechenleistung verbunden sind, wählen Sie in der Seitenleiste Umgebung eine Richtlinie aus:

  1. Klicken Sie in der Notebook-Benutzeroberfläche auf den Seitenbereich UmgebungUmgebung.
  2. Wählen Sie unter " Serverlose Nutzungsrichtlinie" die Serverlose Nutzungsrichtlinie aus, die Sie auf Ihr Notizbuch anwenden möchten.
  3. Klicken Sie auf Anwenden.

Nach dem Übernehmen nimmt die gesamte Notebook-Verwendung die benutzerdefinierten Tags der Richtlinie auf.

Note

Wenn Ihr Notizbuch aus einem Git-Repository stammt oder ihm keine serverlose Nutzungsrichtlinie zugewiesen ist, wird die zuletzt gewählte serverlose Nutzungsrichtlinie standardmäßig verwendet, wenn es als nächstes an die serverlose Berechnung angeschlossen ist.

Einschließen der Umgebung in Quelldateiexporte

Für Python-Notebooks können Sie in der Umgebungskonfiguration die Option In Quellfile-Exporten einbeziehen aktivieren oder deaktivieren. Wenn diese Option aktiviert ist, werden die Basisumgebung und Abhängigkeiten im PEP 723-Format in Quelldateiexporten gespeichert. Dadurch wird die Umgebungskonfiguration beibehalten, wenn Notizbücher in Git-Ordnern gespeichert oder als Quelldateien heruntergeladen werden.

Beispielsweise exportiert ein Notizbuch mit Standard v5 seine Umgebungskonfiguration als Inlinemetadaten oben in der Datei:

# Databricks notebook source
# /// script
# [tool.databricks.environment]
# environment_version = "5"
# ///
print("Hello World!")

Zurücksetzen der Umgebungsabhängigkeiten

Wenn Ihr Notizbuch mit serverloser Berechnung verbunden ist, speichert Databricks den Inhalt der virtuellen Umgebung des Notizbuchs automatisch zwischen. Dies bedeutet, dass Sie die im Seitenbereich Environment angegebenen Python-Abhängigkeiten in der Regel nicht neu installieren müssen, wenn Sie ein vorhandenes Notebook öffnen, selbst wenn die Verbindung aufgrund von Inaktivität getrennt wurde.

Die Zwischenspeicherung von virtuellen Python-Umgebungen gilt auch für Jobs. Wenn ein Auftrag ausgeführt wird, wird jede Aufgabe, die dieselbe Gruppe von Abhängigkeiten wie eine abgeschlossene Aufgabe in derselben Ausführung gemeinsam verwendet, schneller abgeschlossen, da der Cache bereits die erforderlichen Abhängigkeiten enthält.

Note

Wenn Sie die Implementierung eines benutzerdefinierten Python Pakets ändern, das in einem Auftrag ohne Server verwendet wird, müssen Sie auch die Versionsnummer aktualisieren, damit Aufträge die neueste Implementierung aufnehmen können.

Um den Umgebungscache zu leeren und die im Seitenbereich Umgebung eines Notebooks, das an serverloses Computing angebunden ist, angegebenen Abhängigkeiten neu zu installieren, klicken Sie auf den Pfeil neben Übernehmen und dann auf Auf Standardwerte zurücksetzen.

Wenn Sie Pakete installieren, die das Kernnotizbuch oder die Apache Spark-Umgebung unterbrechen oder ändern, entfernen Sie die problematischen Pakete, und setzen Sie dann die Umgebung zurück. Beim Starten einer neuen Sitzung wird der gesamte Umgebungscache nicht gelöscht.

Konfigurieren der Umgebung für Auftragsaufgaben

Jede Auftragsaufgabe wird in einer isolierten Umgebung ausgeführt, die eine Basisumgebung und alle zusätzlichen Bibliotheken enthält, die Sie angeben. Die Basisumgebung legt die Python- und Scala-Laufzeitversion und vorinstallierte Bibliotheken fest. Aufgaben erben den Standardsatz der installierten Bibliotheken von der Umgebungsversion. Um zu sehen, was enthalten ist, lesen Sie den Abschnitt Installierte Python-Bibliotheken oder Installierte Java- und Scala-Bibliotheken der Umgebungsversion, die Sie verwenden.

Sie können die vorinstallierten Bibliotheken mit Bibliotheken aus Arbeitsbereichsdateien, Unity-Katalogvolumes oder öffentlichen Paketrepositorys ergänzen. Zur Laufzeit werden nur Abhängigkeiten installiert, die für die Aufgabe erforderlich sind.

Um Notebook-, Python-Skript- oder Python-Wheel-Aufgaben mit pyproject.toml zu konfigurieren, siehe Eine Projektumgebung mit pyproject.toml konfigurieren.

Um Umgebungsvariablen an den Anwendungscode in Ihren Aufgaben zu übergeben, siehe Konfigurieren von Umgebungsvariablen für serverlose Jobs.

Important

Die Auswahl einer verwalteten Basisumgebung befindet sich in der Betaversion. Mit der Dropdownliste "Basisumgebung " im Dialogfeld " Umgebung konfigurieren " können Sie aus databricks-bereitgestellten Umgebungen (z. B. Standard- und ML)- oder arbeitsbereichskonfigurierten Umgebungen auswählen. Ohne diese Funktion zeigt das Dialogfeld stattdessen eine Dropdownliste Umgebungsversion an. Arbeitsbereichsadministratoren können dieses Feature über die Vorschauseite aktivieren.

Dialogfeld

Konfigurieren der Umgebung nach Aufgabentyp

Wie Sie Umgebungen in einem Auftrag konfigurieren, hängt vom Aufgabentyp ab:

Notebook-Aufgaben

Notizbuchaufgaben werden standardmäßig in der Notizbuchumgebung verwendet, die die eigene konfigurierte Basisumgebung und Abhängigkeiten des Notizbuchs verwendet. Sie können dies mit einer Umgebung auf Einzelvorgangsebene überschreiben.

Dropdown-Menü „Umgebung und Bibliotheken“ für eine Notebook-Aufgabe mit den Optionen „Notebook-Umgebung“ und „Job-Umgebung“

So konfigurieren Sie eine Umgebung auf Auftragsebene:

  1. Klicken Sie in der Aufgabenkonfiguration auf das Dropdownmenü "Umgebung und Bibliotheken ".
  2. Klicken Sie in der Auftragsumgebung auf das Stiftsymbol neben "Standard", oder klicken Sie auf "+Neue Auftragsumgebung hinzufügen".
  3. Im Dialog Umgebungskonfiguration wählen Sie unter UmgebungsquelleStandard oder Projekt aus. Die Project-Option ist nur verfügbar, wenn Ihr Arbeitsbereichsadministrator die Project-Scoped Shared Compute-Vorschau auf der Seite Vorschauen aktiviert hat. Siehe Manage Azure Databricks Previews. Wenn der Dialog Umgebungsquelle nicht anzeigt, befolgen Sie die Standard-Schritte.
  4. Für Standard wählen Sie im Dropdown-Menü Basisumgebung aus:
    • Databricks-Umgebungen: Azure Databricks bereitgestellte Optionen wie Standard und ML.
    • Arbeitsbereichsumgebungen: Benutzerdefinierte Umgebungen, die von Ihrem Arbeitsbereichsadministrator konfiguriert wurden. Siehe Verwalten von Arbeitsbereichsbasisumgebungen.
    • Mehr: Frühere Versionen und Benutzerdefiniert (geben Sie eine YAML-Datei an).
  5. Für Standard fügen Sie unter Abhängigkeiten zusätzliche Bibliotheken hinzu. Verwenden Sie jedes Format, das in einer requirements.txt-Datei gültig ist. Du kannst auch einen absoluten Pfad zu einer Workspace-Datei oder einem Unity-Catalog-Volume verwenden.
  6. Für Project geben Sie in der Project-Umgebung den Workspace-Pfad zu pyproject.toml ein oder wählen Sie die Datei aus. Konfigurieren Sie die Umgebungsversion und die Abhängigkeiten in pyproject.toml. Sie können nicht gleichzeitig Basisumgebung oder Abhängigkeiten festlegen. Siehe „Konfigurieren einer Projektumgebung mit pyproject.toml“.
  7. Klicken Sie auf Bestätigen.

Note

Wenn in Ihrem Arbeitsbereich die Arbeitsbereichsbasisumgebung für die Vorschau von Aufträgen nicht aktiviert ist, wird im Dialogfeld "Umgebung konfigurieren" anstelle der Basisumgebung eine Dropdownliste "Umgebungsversion" angezeigt.

Um die Umgebung zu konfigurieren, wählen Sie eine Version aus, und klicken Sie dann auf +Bibliothek hinzufügen. Sie können einen Dateipfad im Arbeitsbereich (beginnend mit /Workspace/), einen Unity Catalog-Volumepfad (beginnend mit /Volumes/) oder einen Verweis auf eine requirements-Datei (z. B. -r /Workspace/path/to/requirements.txt) angeben.

Python-Skript- und Python-Wheel-Aufgaben

Python-Skript- und Python-Wheel-Tasks erfordern eine konfigurierte Umgebung.

Abschnitt „Umgebung und Bibliotheken“ für eine Python-Wheel-Aufgabe, in dem der Link „Abhängigkeit hinzufügen“ angezeigt wird

  1. Klicken Sie in der Aufgabenkonfiguration unter "Umgebung und Bibliotheken" auf +Abhängigkeit hinzufügen.
  2. Im Dialog Umgebungskonfiguration wählen Sie unter UmgebungsquelleStandard oder Projekt aus. Die Project-Option ist nur verfügbar, wenn Ihr Arbeitsbereichsadministrator die Project-Scoped Shared Compute-Vorschau auf der Previews-Seite aktiviert hat. Siehe Manage Azure Databricks Previews. Wenn der Dialog Umgebungsquelle nicht anzeigt, befolgen Sie die Standard-Schritte.
  3. Für Standard wählen Sie im Dropdown-Menü der Basisumgebung aus:
    • Databricks-Umgebungen: Azure Databricks bereitgestellte Optionen wie Standard und ML.
    • Arbeitsbereichsumgebungen: Benutzerdefinierte Umgebungen, die von Ihrem Arbeitsbereichsadministrator konfiguriert wurden. Siehe Verwalten von Arbeitsbereichsbasisumgebungen.
    • Mehr: Frühere Versionen und Benutzerdefiniert (geben Sie eine YAML-Datei an).
  4. Für Standard fügen Sie unter Abhängigkeiten zusätzliche Bibliotheken hinzu.
  5. Für Project geben Sie in der Project-Umgebung den absoluten Arbeitsbereichspfad zu pyproject.toml ein (zum Beispiel, /Workspace/path/to/pyproject.toml) oder wählen Sie die Datei aus. Python-Wheel-Aufgaben unterstützen keine relativen Projektumgebungspfade. Konfigurieren Sie die Umgebungsversion und die Abhängigkeiten in pyproject.toml. Du kannst auch Basisumgebung oder Abhängigkeiten nicht festlegen. Siehe Konfigurieren einer Projektumgebung mit pyproject.toml.
  6. Klicken Sie auf Bestätigen.

Note

Wenn in Ihrem Arbeitsbereich die Arbeitsbereichsbasisumgebung für die Vorschau von Aufträgen nicht aktiviert ist, wird im Dialogfeld "Umgebung konfigurieren" anstelle der Basisumgebung eine Dropdownliste "Umgebungsversion" angezeigt.

Um die Umgebung zu konfigurieren, wählen Sie eine Version aus, und klicken Sie dann auf +Bibliothek hinzufügen. Sie können einen Dateipfad im Arbeitsbereich (beginnend mit /Workspace/), einen Unity Catalog-Volumepfad (beginnend mit /Volumes/) oder einen Verweis auf eine requirements-Datei (z. B. -r /Workspace/path/to/requirements.txt) angeben.

Dbt-Aufgaben

DBT-Aufgaben verwenden eine Umgebung auf Auftragsebene für die Bibliothekskonfiguration.

Dropdown-Menü „Umgebung und Bibliotheken“ für einen dbt-Einzelvorgang mit Optionen für die Einzelvorgangsumgebung

So konfigurieren Sie eine Umgebung auf Auftragsebene:

  1. Klicken Sie in der Aufgabenkonfiguration auf das Dropdownmenü "Umgebung und Bibliotheken ".
  2. Klicken Sie in der Auftragsumgebung auf das Stiftsymbol neben einer vorhandenen Umgebung, oder klicken Sie auf +Neue Auftragsumgebung hinzufügen.
  3. Wählen Sie im Dialogfeld " Umgebung konfigurieren " im Dropdownmenü " Basisumgebung " folgendes aus:
    • Databricks-Umgebungen: Azure Databricks bereitgestellte Optionen wie Standard und ML.
    • Arbeitsbereichsumgebungen: Benutzerdefinierte Umgebungen, die von Ihrem Arbeitsbereichsadministrator konfiguriert wurden. Siehe Verwalten von Arbeitsbereichsbasisumgebungen.
    • Mehr: Frühere Versionen und Benutzerdefiniert (geben Sie eine YAML-Datei an).
  4. Fügen Sie unter Abhängigkeiten alle zusätzlichen Bibliotheken hinzu. Sie können eine Bibliothek in einem beliebigen Format angeben, das in einer requirements.txt-Datei gültig ist, oder einen absoluten Pfad zu einer Arbeitsbereichsdatei oder einem Unity Catalog-Volume verwenden.
  5. Klicken Sie auf Bestätigen.

Note

Wenn in Ihrem Arbeitsbereich die Arbeitsbereichsbasisumgebung für die Vorschau von Aufträgen nicht aktiviert ist, wird im Dialogfeld "Umgebung konfigurieren" anstelle der Basisumgebung eine Dropdownliste "Umgebungsversion" angezeigt.

Um die Umgebung zu konfigurieren, wählen Sie eine Version aus, und klicken Sie dann auf +Bibliothek hinzufügen. Sie können einen Dateipfad im Arbeitsbereich (beginnend mit /Workspace/), einen Unity Catalog-Volumepfad (beginnend mit /Volumes/) oder einen Verweis auf eine requirements-Datei (z. B. -r /Workspace/path/to/requirements.txt) angeben.

JAR-Aufgaben

Arbeitsbereichsbasisumgebungen werden für JAR-Aufgaben nicht unterstützt. So konfigurieren Sie die Umgebung für eine JAR-Aufgabe:

Abschnitt „Umgebung und Bibliotheken“ für eine JAR-Aufgabe mit dem Link „JAR-Abhängigkeit hinzufügen“

  1. Klicken Sie in der Aufgabenkonfiguration unter "Umgebung und Bibliotheken" auf +JAR-Abhängigkeit hinzufügen.
  2. Im Dialogfeld "Umgebung konfigurieren ":
    • Geben Sie optional einen Pfad zu einer YAML-Datei im Feld "Basisumgebung " ein.
    • Wählen Sie im Dropdownmenü " Umgebungsversion " eine Umgebungsversion aus.
    • Fügen Sie unter JAR-Abhängigkeiten die Pfade zu Ihren JAR-Dateien hinzu.
  3. Klicken Sie auf Bestätigen.

Informationen zum Erstellen einer benutzerdefinierten YAML-basierten Basisumgebung finden Sie unter Erstellen einer benutzerdefinierten Umgebungsspezifikation.

Umgebungs- und Rechenkompatibilität

Die ausgewählte Basisumgebung muss mit dem Computetyp der Aufgabe kompatibel sein. Beispielsweise ist eine für GPU-Compute integrierte Umgebung nicht mit der CPU-Berechnung kompatibel. In der Job-Benutzeroberfläche sind inkompatible Umgebungen im Dropdown-Menü für die Basisumgebung nicht verfügbar.

Wenn Sie eine Notizbuchaufgabe konfigurieren, kann der Computetyp (CPU oder GPU) und die Basisumgebung jeweils aus den Auftragseinstellungen oder den Notizbucheinstellungen stammen.

  • Wenn Sie einen Hardwarebeschleuniger (GPU) auf Auftragsebene festlegen, müssen Sie auch eine Basisumgebung auf Auftragsebene auswählen. Sie können die Umgebung des Notebooks nicht mit einem Beschleuniger auf Einzelvorgangsebene verwenden.
  • Wenn Sie Aufgaben haben, die auf ein Notizbuch verweisen und den Computetyp des referenzierten Notizbuchs aktualisieren (z. B. von CPU zu GPU), können vorhandene Aufgaben mit ihrer konfigurierten Umgebung inkompatibel werden. Überprüfen Sie die Umgebungseinstellungen Ihres Auftrags, nachdem Sie die Rechenkonfiguration des Notebooks geändert haben.
  • Für API-Benutzer: Wenn Sie die Basisumgebung auf Auftragsebene festlegen, aber das Notizbuch den Berechnungstyp definiert, Azure Databricks die Kompatibilität zur Laufzeit überprüft, nicht zum Zeitpunkt der Auftragserstellung. Wenn die Konfiguration nicht kompatibel ist, schlägt die Ausführung mit einem Fehler fehl.

Konfigurieren Sie eine Projektumgebung mit pyproject.toml

Important

Dieses Feature befindet sich in der Betaversion. Zur Verwendung muss ein Workspace-Administrator projektbezogenen Shared Compute auf der Seite Vorschauen aktivieren. Siehe Manage Azure Databricks Previews.

Eine Projektumgebung konfiguriert eine serverlose Job-Aufgabe aus einer pyproject.toml-Datei. Nutze die Datei, um Abhängigkeiten für Notebook-, Python-Skript- und Python-Wheel-Aufgaben zu deklarieren. Um eine Projektumgebung für eine Aufgabe auszuwählen, siehe Umgebung für Aufgaben konfigurieren.

Für Notebooks, die Shared Serverless verwenden, siehe Verwalten der Umgebung mit pyproject.toml.

Anforderungen

  • Verwenden Sie serverlose Umgebung der Version 5 und höher.
  • /Workspace/path/to/pyproject.toml in Workspace-Dateien speichern, zum Beispiel pyproject.toml.
  • Um in einem project_environment zu verwenden, verwenden Sie Databricks CLI Version 1.21.0 und höher.
  • Wenn du die Jobs-API oder ein Bundle verwendest, muss spec das einzige Umgebungs-Quellfeld in der Umgebung project_environment sein. Felder wie environment_version, base_environment und dependencies weglassen. Stelle stattdessen die Umgebungsversion und die Abhängigkeiten in pyproject.toml ein.

Bereite die Projektumgebung vor.

Um die pyproject.toml Datei zu definieren, deklarieren Sie die Abhängigkeiten unter [project]. Setze die serverlose Umgebungsversion unter [tool.databricks.environment]. Beispiel:

[project]
name = "my-project"
version = "0.1.0"
dependencies = [
    # Keep your other dependencies here.
    "cowsay==6.1",
]

[tool.databricks.environment]
# Serverless environment version.
environment_version = "6"

Bei einem Job, der nur Projektabhängigkeiten installiert, führt ein fehlendes oder veraltetes uv.lock dazu, dass die Laufzeit auf uv pip install -r pyproject.toml zurückfällt. Dieser Fallback löst Abhängigkeiten aus pyproject.toml auf, ohne gesperrte Versionen zu erzwingen, und installiert das Projektpaket nicht selbst.

Um das Projekt selbst als Paket zu installieren, fügen Sie pyproject.toml ein Build-Back-End hinzu. Zum Beispiel, um Hatchling zu verwenden, fügen Sie Folgendes hinzu:

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

Hatchling erstellt das Paket aus dem Quellverzeichnis, das mit dem Projektnamen übereinstimmt. Zum Beispiel verwendet Hatchling für my-projectsrc/my_project/__init__.py. Die Projektinstallation erfordert eine aktuelle uv.lock-Datei neben pyproject.toml. Generiere die Datei mit uv lock im Projektverzeichnis.

Um zu überprüfen, dass uv.lock mit pyproject.toml übereinstimmt, führen Sie folgenden Befehl in einem Notebook im Projektverzeichnis aus:

%uv lock --check

Konfigurieren Sie eine Projektumgebung in einem Bundle

Legen Sie project_environment auf den Pfad von pyproject.toml fest. Während der Bereitstellung übersetzt die Databricks-CLI diesen Pfad in einen Arbeitsbereichspfad.

Das folgende Beispielbundle installiert sein eigenes Paket, my-project. Es verwendet dieses Layout:

.
├── databricks.yml
├── pyproject.toml
├── uv.lock
├── resources/
│   └── my_project.job.yml
└── src/
    ├── main.py
    └── my_project/
        └── __init__.py

Die Wurzel pyproject.toml deklariert die Abhängigkeiten, das Backend des Hatchling-Builds und die Umgebungsversion:

[project]
name = "my-project"
version = "0.1.0"
dependencies = [
    "cowsay==6.1",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.databricks.environment]
environment_version = "6"

Speichere die folgende Konfiguration als resources/my_project.job.yml. Die Pfade project_environment und python_file sind relativ zu dieser Datei:

resources:
  jobs:
    my_project_job:
      name: my-project-job
      environments:
        - environment_key: project
          spec:
            project_environment: ../pyproject.toml
      tasks:
        - task_key: main
          environment_key: project
          spark_python_task:
            python_file: ../src/main.py