Inicializační skripty omezené na cluster
Inicializační skripty v oboru clusteru jsou inicializační skripty definované v konfiguraci clusteru. Inicializační skripty s oborem clusteru se vztahují na clustery, které vytvoříte, a pro spouštění úloh.
Inicializační skripty v oboru clusteru můžete nakonfigurovat pomocí uživatelského rozhraní, rozhraní příkazového řádku a vyvoláním rozhraní API clusterů. Tato část se zaměřuje na provádění těchto úloh pomocí uživatelského rozhraní. Další metody najdete v rozhraní příkazového řádku Databricks a rozhraní API clusterů.
Můžete přidat libovolný počet skriptů a skripty se spouští postupně v zadaném pořadí.
Pokud inicializační skript s oborem clusteru vrátí nenulový ukončovací kód, spuštění clusteru selže. Inicializační skripty v oboru clusteru můžete řešit konfigurací doručování protokolů clusteru a prozkoumáním protokolu inicializačních skriptů. Viz protokolování inicializačního skriptu.
Tato část obsahuje pokyny ke konfiguraci clusteru pro spuštění inicializačního skriptu pomocí uživatelského rozhraní Azure Databricks.
Databricks doporučuje spravovat všechny inicializační skripty jako inicializační skripty v oboru clusteru. Pokud používáte výpočetní prostředky se sdíleným nebo jedním uživatelským režimem přístupu, uložte inicializační skripty v Unity Catalogvolumes. Pokud používáte výpočetní prostředky bez izolace v režimu sdíleného přístupu, použijte soubory pracovního prostoru pro inicializační skripty.
Pro režim sdíleného přístupu je nutné do souboru allowlist
přidat inicializační skripty . Viz Knihovny allowlist a inicializační skripty pro sdílené výpočetní prostředky.
Pokud chcete použít uživatelské rozhraní ke konfiguraci clusteru pro spuštění inicializačního skriptu, proveďte následující kroky:
- Na stránce konfigurace clusteru klikněte na přepínač Upřesnit možnosti .
- V dolní části stránky klikněte na kartu Inicializační skripty .
- V rozevíracím seznamu
Zdroj pracovního prostoru , svazku nebo typu zdroje ABFSS. - Zadejte cestu k inicializačnímu skriptu, například jeden z následujících příkladů:
- Pro inicializační skript uložený v souborech pracovního prostoru:
/Workspace/<path-to-script>/<script-name>.sh
- Inicializační skript uložený v Unity Catalogvolumes:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh
- Inicializační skript uložený v úložišti objektů:
abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script
- Pro inicializační skript uložený v souborech pracovního prostoru:
- Klikněte na tlačítko Přidat.
V režimu přístupu jednoho uživatele se používá identita přiřazeného objektu (uživatele nebo instančního objektu).
V režimu sdíleného přístupu se používá identita vlastníka clusteru.
Poznámka
Režim sdíleného přístupu bez izolace nepodporuje volumes, ale používá stejné přiřazení identity jako režim sdíleného přístupu.
Pokud chcete remove skript z konfigurace clusteru, klikněte na ikonu koše v pravé části skriptu. Po potvrzení odstranění se zobrazí výzva k restartování clusteru. Volitelně můžete odstranit soubor skriptu z umístění, do něhož jste ho nahráli.
Poznámka
Pokud konfigurujete inicializační skript pomocí typu zdroje ABFSS, musíte nakonfigurovat přístup credentials.
Databricks doporučuje používat instanční objekty Microsoft Entra ID ke správě přístupu k inicializačním skriptům uloženým v Azure Data Lake Storage Gen2. K dokončení tohoto nastavení použijte následující propojenou dokumentaci:
Vytvořte principál služby s oprávněními ke čtení a list pro vámi vybrané objekty blob. Viz Access storage using a service principal & Microsoft Entra ID(Azure Active Directory).
Uložte credentials pomocí tajných kódů. Viz Správa tajných kódů.
Set vlastnosti v konfiguraci Sparku a proměnných prostředí při vytváření clusteru, jak je znázorněno v následujícím příkladu:
Konfigurace Sparku:
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/token
Proměnné prostředí:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
(Volitelné) Refaktoring inicializačních skriptů pomocí azcopy nebo Azure CLI
Proměnné prostředí můžete odkazovat set během konfigurace clusteru v rámci inicializačních skriptů a předávat credentials uložené jako tajemství pro ověření.
Upozornění
Inicializační skripty s oborem clusteru v DBFS jsou koncové. Možnost DBFS v uživatelském rozhraní existuje v některých pracovních prostorech pro podporu starších úloh a nedoporučuje se. Všechny inicializační skripty uložené v DBFS by se měly migrovat. Pokyny k migraci najdete v tématu Migrace inicializačních skriptů z DBFS.
- Skript musí existovat v nakonfigurované lokalitě. Pokud skript neexistuje, pokusí se spustit cluster nebo vertikálně navýšit kapacitu exekutorů a způsobit selhání.
- Inicializační skript nemůže být větší než 64 kB. Pokud skript tuto velikost překročí, cluster se nespustí a v protokolu clusteru se zobrazí zpráva o selhání.