Was sind Initskripts?

Ein Initskript (Initialisierungsskript) ist ein Shellskript, das beim Start der einzelnen Clusterknoten ausgeführt wird, bevor die JVM des Apache Spark-Treibers oder -Executors gestartet wird. Dieser Artikel enthält Empfehlungen für Initialisierungsskripts und Konfigurationsinformationen, wenn Sie sie verwenden müssen.

Empfehlungen für init-Skripts

Databricks empfiehlt, wann immer möglich integrierte Plattformfunktionen anstelle von Initialisierungsskripts zu verwenden. Die weit verbreitete Verwendung von Init-Skripts kann die Migration zu neuen Databricks-Runtime-Versionen verlangsamen und die Akzeptanz einiger Databricks-Optimierungen verhindern.

Wichtig

Wenn Sie von Initialisierungsskripts auf DBFS migrieren müssen, lesen Sie Migrieren von Initialisierungsskripts aus DBFS.

Die folgenden Databricks-Features behandeln einige der gängigen Anwendungsfälle für init-Skripts:

Wenn Sie Initialisierungsskripts verwenden müssen:

  • Verwalten von Initialisierungsskripts mithilfe von Compute-Richtlinien oder Initialisierungsskripts im Clusterbereich anstelle von globalen Initialisierungsskripts. Siehe Typen von Initialisierungsskripts.
  • Verwalten Sie die Bibliotheksinstallation für Produktions- und interaktive Umgebungen mithilfe von Compute-Richtlinien. Installieren Sie keine Bibliotheken mithilfe von Init-Skripts.
  • Verwenden Sie den Zugriffsmodus „Freigegeben“ für alle Workloads. Verwenden Sie nur den Einzelbenutzerzugriffsmodus, wenn die erforderliche Funktionalität nicht vom Modus für den freigegebenen Zugriff unterstützt wird.
  • Verwendung neuer Databricks-Runtime-Versionen und des Unity-Katalogs für alle Workloads.

Die folgende Tabelle enthält Empfehlungen nach Databricks-Runtime-Version und Unity Catalog-Aktivierung organisiert.

Environment Empfehlung
Databricks Runtime 13.3 LTS und höher mit Unity-Katalog Speichern von Initialisierungsskripten in Unity-Katalog-Volumes.
Databricks Runtime 11.3 LTS und höher ohne Unity-Katalog Speichern von Initialisierungsskripten in Arbeitsbereichsdateien. (Die Dateigröße ist auf 500 GB begrenzt).
Databricks Runtime 10.4 LTS und niedriger Speichern von Initialisierungsskripten mithilfe des Cloudobjektspeichers.

Welche Arten von Initskripts unterstützt Azure Databricks?

Azure Databricks unterstützt zwei Arten von Initialisierungsskripts: Clusterbereich und global, aber die Verwendung von Cluster-bezogenen Initialisierungsskripts wird empfohlen.

  • Clusterspezifisch: Clusterspezifische Skripts werden in allen Clustern ausgeführt, die mit dem Skript konfiguriert wurden. Dies ist die empfohlene Methode für das Ausführen eines Initialisierungsskripts. Weitere Informationen finden Sie unter Verwenden von Initialisierungsskripts im Clusterbereich.
  • Global: wird in allen Clustern im Arbeitsbereich ausgeführt, die mit dem Einzelbenutzerzugriffsmodus oder freigegebenen Zugriffsmodus ohne Isolation konfiguriert sind. Diese Initialisierungsskripts können unerwartete Probleme verursachen, z. B. Bibliothekskonflikte. Globale Initialisierungsskripts können nur von Arbeitsbereichsadministrator-Benutzern erstellt werden. Weitere Informationen finden Sie unter Verwenden von globalen Initskripts.

Bei jeder Änderung des Initialisierungsskripttyps müssen Sie alle Cluster, die von dem jeweiligen Skript betroffen sind, neu starten.

Globale Initialisierungsskripts werden vor clusterbezogenen Initialisierungsskripts ausgeführt.

Wichtig

Legacy globale und Legacy Cluster-benannte Initskripts werden vor anderen Initskripts ausgeführt. Diese Initialisierungsskripts werden nicht mehr unterstützt, sind jedoch möglicherweise in Arbeitsbereichen vorhanden, die vor dem 21. Februar 2023 erstellt wurden. Siehe Cluster-benannte Initialisierungsskripts (Legacy) und globale Initialisierungsskripts (Legacy).

Wo können Initialisierungsskripts installiert werden?

Sie können Initialisierungsskripts aus Arbeitsbereichsdateien, Unity-Katalogvolumen und Cloudobjektspeichern speichern und konfigurieren. Initialisierungsskripts werden jedoch nicht für alle Clusterkonfigurationen unterstützt, und nicht auf alle Dateien kann von Initialisierungsskripts verwiesen werden. Empfehlungen zur Umgebung für init-Skripts finden Sie unter Empfehlungen für init-Skripts.

Die folgende Tabelle gibt die Unterstützung für Initialisierungsskripts basierend auf dem Quellspeicherort und dem Clusterzugriffsmodus an. Die aufgeführte Databricks Runtime-Version ist die Mindestversion, die für die Verwendung der Kombination erforderlich ist. Informationen zu Clusterzugriffsmodi finden Sie unter Zugriffsmodi.

Hinweis

Der Modus für den freigegebenen Zugriff erfordert, dass ein Administrator Initialisierungsskripts zu allowlist hinzufügen kann. Weitere Informationen finden Sie unter Positivliste von Bibliotheken und Initialisierungsskripts auf freigegebenem Compute.

Zugriffsmodus „Freigegeben“ Einzelzugriffsmodus Zugriffsmodus „keine Isolation, freigegeben“
Arbeitsbereichsdateien Nicht unterstützt Alle unterstützten Databricks Runtime-Versionen.

In Versionen unter 11.3 LTS werden init-Skripts, die auf andere Arbeitsbereichsdateien verweisen, nicht unterstützt.
Alle unterstützten Databricks Runtime-Versionen.
Volumes 13.3 LTS und höher 13.3 LTS und höher Nicht unterstützt
Cloudspeicher 13.3 LTS und höher Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen

Migrieren von Initialisierungsskripts aus DBFS

Warnung

Initialisierungsskripts auf DBFS haben das Ende der Lebensdauer erreicht und können nicht mehr verwendet werden. Sie müssen Ihre Initialisierungsskripts zu einem unterstützten Speicherort migrieren, bevor Sie mit der Berechnung beginnen können. Speichern Sie Initialisierungsskripts auf Unity Catalog-Volumes als Arbeitsbereichsdateien oder im Cloudobjektspeicher.

Benutzer*innen, die Initialisierungsskripts aus DBFS migrieren müssen, können die folgenden Leitfäden verwenden. Stellen Sie sicher, dass Sie das richtige Ziel für Ihre Konfiguration identifiziert haben. Weitere Informationen finden Sie unter Empfehlungen für Initialisierungsskripts.