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.
Clusterspezifische Initialisierungsskripts werden in einer Clusterkonfiguration definiert. Sie gelten sowohl für Cluster, die Sie erstellt haben, als auch für Cluster zum Ausführen von Aufträgen.
Die Konfiguration der clusterspezifischen Initialisierungsskripts kann über die Benutzeroberfläche, die CLI und durch Aufrufen der Cluster-API erfolgen. In diesem Abschnitt liegt der Schwerpunkt auf der Ausführung dieser Aufgaben über die Benutzeroberfläche. Informationen zu den anderen Methoden finden Sie unter Databricks-CLI und Cluster-API.
Sie können beliebig viele Skripts hinzufügen. Diese werden nacheinander in der angegebenen Reihenfolge ausgeführt.
Gibt ein clusterspezifisches Initialisierungsskript einen Exitcode ungleich 0 (null) zurück, tritt beim Clusterstart ein Fehler auf. Konfigurieren Sie zur Behebung von Problemen mit clusterbezogenen Initskripts die Übermittlung von Clusterprotokollen und überprüfen Sie das Initskript-Protokoll. Weitere Informationen finden Sie unter Initskript-Protokolle
Konfigurieren eines clusterspezifischen Initialisierungsskripts mithilfe der Benutzeroberfläche
Dieser Abschnitt enthält Anweisungen, um mithilfe der Azure Databricks-Benutzeroberfläche einen Cluster für die Ausführung eines Initialisierungsskripts zu konfigurieren.
Databricks empfiehlt, alle Initialisierungsskripts als clusterspezifische Initialisierungsskripts zu verwalten. Wenn Sie Compute mit standard- oder dediziertem Zugriffsmodus (früher gemeinsam genutzte und einzelne Benutzerzugriffsmodi) verwenden, speichern Sie init-Skripts in Unity-Katalogvolumes. Wenn Sie Compute mit dem freigegebenen Modus ohne Isolation verwenden, nutzen Sie Arbeitsbereichsdateien für Initialisierungsskripts.
Für den Standardzugriffsmodus müssen Sie Init-Skripts hinzufügen.allowlist Weitere Informationen finden Sie unter Setzen von Bibliotheken und Inititalisierungsskripts auf Computeressourcen im Standardzugriffsmodus (ehemals freigegebener Zugriffsmodus) auf die Positivliste.
Führen Sie die folgenden Schritte aus, um mithilfe der Benutzeroberfläche einen Cluster für die Ausführung eines Initialisierungsskripts zu konfigurieren:
- Klicken Sie auf der Clusterkonfigurationsseite auf die Umschaltfläche "Erweitert ".
- Klicken Sie unten auf der Seite auf die Registerkarte Initialisierungsskripts.
- Wählen Sie in der Dropdownliste Quelle den Quelltyp Arbeitsbereich, Volume oder ABFSS aus.
- Geben Sie einen Pfad zum Initskript an, wie in einem der folgenden Beispiele:
- Für ein init-Skript, das in Ihren Arbeitsbereichsdateien gespeichert ist:
/Workspace/<path-to-script>/<script-name>.sh - Für ein init-Skript, das mit Unity-Katalogvolumes gespeichert ist:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh - Für ein init-Skript, das mit Objektspeicher gespeichert ist:
abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script
- Für ein init-Skript, das in Ihren Arbeitsbereichsdateien gespeichert ist:
- Klicken Sie auf Hinzufügen.
Im dedizierten Zugriffsmodus wird die Identität des zugewiesenen Prinzipals (ein Benutzer oder Dienstprinzipal) verwendet.
Im Standardzugriffsmodus wird die Identität des Clusterbesitzers verwendet.
Hinweis
Der nicht isolierte gemeinsame Zugriffsmodus unterstützt keine Volumes, verwendet jedoch dieselbe Identitätszuweisung wie der Standardzugriffsmodus.
Wenn Sie ein Skript aus der Clusterkonfiguration entfernen möchten, klicken Sie rechts neben dem Skript auf das Papierkorb-Symbol. Nach Bestätigen des Löschvorgangs werden Sie aufgefordert, den Cluster neu zu starten. Optional können Sie die Skriptdatei aus dem Speicherort löschen, an den Sie sie hochgeladen haben.
Hinweis
Wenn Sie ein Initskript mithilfe des ABFSS-Quelltyps konfigurieren, müssen Sie die Zugriffsanmeldeinformationen konfigurieren.
Databricks empfiehlt die Verwendung von Microsoft Entra ID-Dienstprinzipalen, um den Zugriff auf init-Skripts zu verwalten, die in Azure Data Lake Storage gespeichert sind. Verwenden Sie die nachfolgend verlinkte Dokumentation, um dieses Setup abzuschließen:
Erstellen Sie ein Dienstprinzipal mit Berechtigungen zum Lesen und Auflisten der gewünschten Blobs. Weitere Informationen finden Sie unter Zugriff auf Speicher mit Microsoft Entra ID (früher Azure Active Directory) und einem Dienstprinzipal.
Speichern Sie Ihre Anmeldeinformationen mithilfe von Geheimnissen. Siehe "Geheime Schlüssel verwalten".
Legen Sie die Eigenschaften in der Spark-Konfiguration und die Umgebungsvariablen beim Erstellen eines Clusters fest, wie im folgenden Beispiel gezeigt:
Spark-Konfiguration:
spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id> spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}} spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/tokenUmgebungsvariablen:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}(Optional) Gestalten Sie die Initialisierungsskripts mithilfe von azcopy oder der Azure CLI um.
Sie können auf die während der Clusterkonfiguration festgelegten Umgebungsvariablen in Ihren Initialisierungsskripts verweisen, um als Geheimnis gespeicherte Anmeldeinformationen zur Validierung zu übergeben.
Warnung
Clusterspezifische Initialisierungsskripts in DBFS werden nicht mehr unterstützt. Die Option DBFS in der Benutzeroberfläche einiger Arbeitsbereiche dient der Unterstützung von Legacy-Workloads und wird nicht empfohlen. Alle in DBFS gespeicherten Initialisierungsskripts sollten migriert werden. Anweisungen zur Migration finden Sie unter Migrieren von Initialisierungsskripts aus DBFS.
Problembehandlung für clusterbezogene Initskripts
- Das Skript muss am konfigurierten Speicherort vorhanden sein. Wenn das Skript nicht vorhanden ist, führen Versuche, den Cluster zu starten oder die Executoren zu skalieren, zu einem Fehler.
- Das Initialisierungsskript darf nicht größer als 64 KB sein. Überschreitet das Skript diese Größe, kann der Cluster nicht gestartet werden, und im Clusterprotokoll wird eine Fehlermeldung angezeigt.