Vad är init-skript?

Ett init-skript (initieringsskript) är ett gränssnittsskript som körs under starten av varje klusternod innan Apache Spark-drivrutinen eller kör-JVM startar. Den här artikeln innehåller rekommendationer för init-skript och konfigurationsinformation om du måste använda dem.

Rekommendationer för init-skript

Databricks rekommenderar att du använder inbyggda plattformsfunktioner i stället för init-skript när det är möjligt. Omfattande användning av init-skript kan bromsa migreringen till nya Databricks Runtime-versioner och förhindra att vissa Databricks-optimeringar implementeras.

Viktigt!

Om du behöver migrera från init-skript på DBFS läser du Migrera init-skript från DBFS.

Följande Databricks-funktioner hanterar några av de vanliga användningsfallen för init-skript:

Om du måste använda init-skript:

  • Hantera init-skript med hjälp av beräkningsprinciper eller init-skript med klusteromfattning i stället för globala init-skript. Se init-skripttyper.
  • Hantera biblioteksinstallation för produktionsmiljöer och interaktiva miljöer med hjälp av beräkningsprinciper. Installera inte bibliotek med init-skript.
  • Använd läget för delad åtkomst för alla arbetsbelastningar. Använd endast åtkomstläget för en användare om nödvändiga funktioner inte stöds av läget för delad åtkomst.
  • Använd nya Databricks Runtime-versioner och Unity Catalog för alla arbetsbelastningar.

Följande tabell innehåller rekommendationer ordnade efter Databricks Runtime-version och Unity Catalog-aktivering.

Environment Rekommendation
Databricks Runtime 13.3 LTS och senare med Unity Catalog Lagra init-skript i Unity Catalog-volymer.
Databricks Runtime 11.3 LTS och senare utan Unity Catalog Lagra init-skript som arbetsytefiler. (Filstorleksgränsen är 500 MB).
Databricks Runtime 10.4 LTS och nedan Lagra init-skript med hjälp av molnobjektlagring.

Vilka typer av init-skript stöder Azure Databricks?

Azure Databricks stöder två typer av init-skript: klusteromfattande och globala, men du rekommenderas att använda init-skript med klusteromfattning.

  • Klusteromfång: körs på varje kluster som konfigurerats med skriptet. Det här är det rekommenderade sättet att köra ett init-skript. Se Använda init-skript med klusteromfattning.
  • Global: kör på alla kluster på arbetsytan som konfigurerats med åtkomstläge för en enskild användare eller läget för delad åtkomst utan isolering. Dessa init-skript kan orsaka oväntade problem, till exempel bibliotekskonflikter. Endast arbetsyteadministratörsanvändare kan skapa globala init-skript. Se Använda globala init-skript.

När du ändrar någon typ av init-skript måste du starta om alla kluster som påverkas av skriptet.

Globala init-scripts körs före init-skript med klusteromfattning.

Viktigt!

Äldre globala och äldre klusternamnsskript körs före andra init-skript. Dessa init-skript är i slutet av livet, men kan finnas på arbetsytor som skapats före den 21 februari 2023. Se Klusternamn för init-skript (äldre) och Globala init-skript (äldre).

Var kan init-skript installeras?

Du kan lagra och konfigurera init-skript från arbetsytefiler, Unity Catalog-volymer och molnobjektlagring, men init-skript stöds inte i alla klusterkonfigurationer och alla filer kan inte refereras från init-skript.

I följande tabell visas stöd för init-skript baserat på källplatsen och klusteråtkomstläget. Databricks Runtime-versionen i listan är den lägsta version som krävs för att använda kombinationen. Information om klusteråtkomstlägen finns i Åtkomstlägen.

Kommentar

Läget för delad åtkomst kräver att en administratör lägger till init-skript i en allowlist. Se Tillåtlista bibliotek och init-skript för delad beräkning.

Läge för delad åtkomst Läge för enkel åtkomst Läge för delad åtkomst utan isolering
Arbetsytefiler Stöds inte Alla Databricks Runtime-versioner som stöds Alla Databricks Runtime-versioner som stöds
Volymer 13.3 LTS 13.3 LTS Stöds inte
Molnlagring 13.3 LTS Alla Databricks Runtime-versioner som stöds Alla Databricks Runtime-versioner som stöds

Migrera init-skript från DBFS

Varning

Init-skript på DBFS har nått slutet av livslängden och kan inte längre användas. Du måste migrera dina init-skript till en plats som stöds innan du kan starta beräkningen. Lagra init-skript på Unity-katalogvolymer, som arbetsytefiler eller i molnobjektlagring.

Användare som behöver migrera init-skript från DBFS kan använda följande guider. Kontrollera att du har identifierat rätt mål för konfigurationen. Se Rekommendationer för init-skript.