Sdílet prostřednictvím


Instalace knihoven z úložiště objektů

Tento článek vás provede kroky potřebnými k instalaci knihoven z cloudového úložiště objektů v Azure Databricks.

Poznámka:

Tento článek se týká cloudového úložiště objektů jako obecný koncept a předpokládá, že přímo komunikujete s daty uloženými v úložišti objektů pomocí identifikátorů URI. Databricks doporučuje použít svazky katalogu Unity ke konfiguraci přístupu k souborům v cloudovém úložišti objektů. Podívejte se na co jsou svazky katalogu Unity?

Vlastní knihovny JAR a Python Whl můžete ukládat do cloudového úložiště objektů místo jejich uložení do kořenového adresáře DBFS. Úplné podrobnosti o kompatibilitě knihoven najdete v tématu výpočtově omezené knihovny.

Důležité

Knihovny je možné nainstalovat z DBFS při použití Databricks Runtime 14.3 LTS a níže. Každý uživatel pracovního prostoru ale může upravovat soubory knihovny uložené v DBFS. Aby se zlepšilo zabezpečení knihoven v pracovním prostoru Azure Databricks, ukládání souborů knihovny v kořenovém adresáři DBFS je ve výchozím nastavení v Databricks Runtime 15.1 a novějších zakázaných. Viz Ukládání knihoven v kořenovém adresáři DBFS je ve výchozím nastavení zastaralé a zakázané.

Místo toho Databricks doporučuje nahrát všechny knihovny, včetně knihoven Pythonu, souborů JAR a konektorů Spark, do souborů pracovního prostoru nebo svazků katalogu Unity či využít úložiště balíčků knihoven. Pokud vaše úloha tyto vzory nepodporuje, můžete také použít knihovny uložené v cloudovém úložišti objektů.

Načíst knihovny do objektového úložiště

Knihovny můžete načíst do úložiště objektů stejným způsobem jako ostatní soubory. Abyste mohli vytvářet nové kontejnery úložiště objektů nebo načítat soubory do cloudového úložiště objektů, musíte mít ve svém poskytovateli cloudu správná oprávnění.

Přiřaďte oprávnění pouze pro čtení úložišti objektů

Databricks doporučuje konfigurovat všechna oprávnění související s instalací knihovny s oprávněními jen pro čtení.

Azure Databricks umožňuje přiřadit oprávnění zabezpečení jednotlivým clusterům, které řídí přístup k datům v cloudovém úložišti objektů. Tyto zásady je možné rozšířit a přidat přístup jen pro čtení do cloudového úložiště objektů, které obsahuje knihovny.

Poznámka:

V Databricks Runtime 12.2 LTS a níže nemůžete načíst knihovny JAR při použití clusterů se standardními režimy přístupu (dříve režim sdíleného přístupu). Ve službě Databricks Runtime 13.3 LTS a vyšší je nutné přidat knihovny JAR do povoleného seznamu katalogu Unity. Viz Povolené seznamy knihoven a inicializační skripty na výpočetních prostředcích se standardním přístupovým režimem (dříve sdílený přístupový režim).

Databricks doporučuje používat principály služby Microsoft Entra ID ke správě přístupu ke knihovnám uloženým v Azure Data Lake Storage. K dokončení tohoto nastavení použijte následující propojenou dokumentaci:

  1. Vytvořte instanční objekt s oprávněními ke čtení a výpisu požadovaných objektů blob. Podívejte se na Přístup ke skladování pomocí servisního účtu a Microsoft Entra ID (Azure Active Directory).

  2. Uložte přihlašovací údaje pomocí tajných kódů. Viz Správa tajemství.

  3. Při vytváření clusteru nastavte vlastnosti v konfiguraci Sparku a proměnných prostředí, 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>}}
    
  4. (Optional) Přepracujte inicializační skripty pomocí azcopy nebo Azure CLI.

    V inicializačních skriptech můžete používat proměnné prostředí nastavené během konfigurace clusteru k předání přihlašovacích údajů uložených jako tajné kódy pro ověření.

Instalace knihoven do clusterů

Pokud chcete nainstalovat knihovnu uloženou v cloudovém úložišti objektů do clusteru, proveďte následující kroky:

  1. V uživatelském rozhraní clusterů vyberte cluster ze seznamu.
  2. Vyberte kartu Knihovny.
  3. Vyberte možnost Cesta k souboru nebo ADLS.
  4. Zadejte úplnou cestu URI k objektu knihovny (například abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl).
  5. Klikněte na Install (Nainstalovat).

Knihovny můžete nainstalovat také pomocí rozhraní REST API nebo rozhraní příkazového řádku.

Instalace knihoven do poznámkových bloků

Můžete použít %pip k instalaci vlastních Python wheel souborů uložených v objektovém úložišti omezeném na SparkSession izolovanou v poznámkovém bloku. Chcete-li použít tuto metodu, musíte buď ukládat knihovny do veřejně čitelného úložiště objektů, nebo použít předem podepsanou adresu URL.

Další informace najdete v tématu Knihovny Pythonu v rámci poznámkových bloků

Poznámka:

Knihovny JAR nelze v poznámkovém bloku nainstalovat. Knihovny JAR musíte nainstalovat na úrovni clusteru.