Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Init-skript med klusteromfattning är init-skript som definieras i en klusterkonfiguration. Init-skript med klusteromfattning gäller för båda kluster som du skapar och de som skapats för att köra jobb.
Du kan konfigurera init-skript med klusteromfattning med hjälp av användargränssnittet, CLI och genom att anropa kluster-API:et. Det här avsnittet fokuserar på att utföra dessa uppgifter med hjälp av användargränssnittet. De andra metoderna finns i Databricks CLI och Kluster-API:et.
Du kan lägga till valfritt antal skript och skripten körs sekventiellt i den angivna ordningen.
Om ett init-skript med klusteromfattning returnerar en slutkod som inte är noll misslyckas klusterstarten. Du kan felsöka init-skript med klusteromfattning genom att konfigurera klusterloggleverans och undersöka init-skriptloggen. Se Init-skriptloggning.
Konfigurera ett init-skript med klusteromfattning med hjälp av användargränssnittet
Det här avsnittet innehåller instruktioner för hur du konfigurerar ett kluster för att köra ett init-skript med hjälp av Azure Databricks-användargränssnittet.
Databricks rekommenderar att du hanterar alla init-skript som init-skript med klusteromfattning. Om du använder beräkning med standard- eller dedikerat åtkomstläge (tidigare delade och enskilda användaråtkomstlägen) lagrar du init-skript i Unity Catalog-volymer. Om du använder beräkning utan isoleringsläge för delad åtkomst använder du arbetsytefiler för init-skript.
För standardåtkomstläge måste du lägga till init-skript i allowlist. Se Allowlist-bibliotek och init-skript för beräkning med standardåtkomstläge (tidigare delat åtkomstläge).
Utför följande steg om du vill använda användargränssnittet för att konfigurera ett kluster för att köra ett init-skript:
- Klicka på växlingsknappen Avancerat på sidan för klusterkonfiguration.
- Längst ned på sidan klickar du på fliken Init-skript .
- I listrutan Source väljer du Workspace, Volumeeller ABFSS källtyp.
- Ange en sökväg till init-skriptet, till exempel något av följande exempel:
- För ett init-skript som lagras i dina arbetsytefiler:
/Workspace/<path-to-script>/<script-name>.sh - För ett init-skript som lagras med Unity Catalog-volymer:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh - För ett init-skript som lagras med objektlagring:
abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script
- För ett init-skript som lagras i dina arbetsytefiler:
- Klicka på Lägg till.
I dedikerat åtkomstläge används identiteten för den tilldelade huvudprincipalen (en användare eller en tjänsteprincip).
I standardåtkomstläge används klusterägarens identitet.
Kommentar
Läget för delad åtkomst utan isolering stöder inte volymer, men använder samma identitetstilldelning som standardåtkomstläget.
Om du vill ta bort ett skript från klusterkonfigurationen klickar du på papperskorgsikonen till höger om skriptet. När du bekräftar borttagningen uppmanas du att starta om klustret. Du kan också ta bort skriptfilen från den plats där du laddade upp den.
Kommentar
Om du konfigurerar ett init-skript med hjälp av ABFSS källtyp måste du konfigurera åtkomstautentiseringsuppgifter.
Databricks rekommenderar att använda Microsoft Entra ID:s tjänsthuvudnamn för att hantera åtkomst till init-skript som lagras i Azure Data Lake Storage. Använd följande länkade dokumentation för att slutföra den här installationen:
Skapa ett tjänstehuvudnamn med läs- och listbehörigheter för dina önskade blobbar. Se Åtkomstlagring med hjälp av tjänstens huvudnamn och Microsoft Entra-ID (Azure Active Directory).
Spara dina autentiseringsuppgifter med hjälp av hemligheter. Se Hantera hemligheter.
Ange egenskaperna i Spark-konfigurations- och miljövariablerna när du skapar ett kluster, som i följande exempel:
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/tokenMiljövariabler:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}(Valfritt) Omstrukturera init-skript med azcopy eller Azure CLI.
Du kan referera till miljövariabler som angetts under klusterkonfigurationen i dina init-skript för att skicka autentiseringsuppgifter som lagras som hemligheter för validering.
Varning
Init-skript med klusteromfattning i DBFS är livslängdens slut. DBFS-alternativet i användargränssnittet finns på vissa arbetsytor för att stödja äldre arbetsbelastningar och rekommenderas inte. Alla init-skript som lagras i DBFS ska migreras. Migreringsinstruktioner finns i Migrera init-skript från DBFS.
Felsökning av klusteromfattande init-skript
- Skriptet måste finnas på den konfigurerade platsen. Om skriptet inte finns leder försök att starta klustret eller skala upp exekutörerna till fel.
- Init-skriptet får inte vara större än 64 KB. Om ett skript överskrider den storleken kan klustret inte startas och ett felmeddelande visas i klusterloggen.