Freigeben über


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 Init-Skripten aus DBFS migrieren müssen, lesen Sie Migrieren von Init-Skripten 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 init-Skripttypen.
  • Verwalten Sie die Bibliotheksinstallation für Produktions- und interaktive Umgebungen mithilfe von Compute-Richtlinien. Installieren Sie keine Bibliotheken mithilfe von Init-Skripts. Siehe Berechnungsrichtlinien.
  • Verwenden Sie den Standardzugriffsmodus (vormals gemeinsam genutzter Zugriff) für alle Workloads. Verwenden Sie nur den dedizierten Zugriffsmodus (früher einzelbenutzerzugriffsmodus), wenn erforderliche Funktionen nicht vom Standardzugriffsmodus unterstützt werden.
  • 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.

Umwelt Empfehlung
Databricks Runtime 13.3 LTS und höher mit Unity-Katalog Speichern Sie Init-Skripts in Unity Catalog Volumes.
Databricks Runtime 11.3 LTS und höher ohne Unity-Katalog Speichern Sie Init-Skripts als Arbeitsbereichsdateien. (Die Dateigröße ist auf 500 GB begrenzt).
Databricks Runtime 10.4 LTS und niedriger Speichern Sie init-Skripts 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.

  • Auf Clusterebene: Wird auf jedem Cluster ausgeführt, der mit dem Skript konfiguriert ist. Dies ist die empfohlene Methode für das Ausführen eines Initialisierungsskripts. Weitere Informationen finden Sie unter Initialisierungsskripts im Clusterbereich.
  • Global: Führen Sie die Ausführung auf allen Clustern im Arbeitsbereich aus, die mit dediziertem Zugriffsmodus oder ohne Isolation für den freigegebenen Zugriff konfiguriert sind. Diese Initialisierungsskripts können unerwartete Probleme verursachen, z. B. Bibliothekskonflikte. Globale Initialisierungsskripts können nur von Arbeitsbereichsadministrator-Benutzern erstellt werden. Siehe globale 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. Weitere Informationen finden Sie unter 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. Umgebungsempfehlungen 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 Access-Modi.

Hinweis

Der Standardzugriffsmodus erfordert, dass ein Admin Init-Skripts zu einem allowlist hinzufügt. Weitere Informationen finden Sie unter Setzen von Bibliotheken und Inititalisierungsskripts auf Computeressourcen im Standardzugriffsmodus (ehemals freigegebener Zugriffsmodus) auf die Positivliste.

Standardzugriffsmodus 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.
Volumina 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. Siehe Empfehlungen für init-Skripts.