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:
- Använd beräkningsprinciper för att ange systemegenskaper, miljövariabler och Spark-konfigurationsparametrar. Se Referens för beräkningsprincip.
- Lägg till bibliotek i klusterprinciper. Se Lägga till bibliotek i en princip.
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 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 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. Miljörekommendationer för init-skript finns i Rekommendationer för 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. I versioner under 11.3 LTS stöds inte init-skript som refererar till andra arbetsytefiler. |
Alla Databricks Runtime-versioner som stöds. |
Volymer | 13.3 LTS och senare | 13.3 LTS och senare | Stöds inte |
Molnlagring | 13.3 LTS och senare | 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.