Share via


Installera bibliotek från objektlagring

Den här artikeln beskriver de steg som krävs för att installera bibliotek från molnobjektlagring i Azure Databricks.

Kommentar

Den här artikeln refererar till molnobjektlagring som ett allmänt begrepp och förutsätter att du interagerar direkt med data som lagras i objektlagring med hjälp av URI:er. Databricks rekommenderar att du använder Unity Catalog-volymer för att konfigurera åtkomst till filer i molnobjektlagring. Se Skapa och arbeta med volymer.

Du kan lagra anpassade JAR- och Python Whl-bibliotek i molnobjektlagring i stället för att lagra dem i DBFS-roten. Se Bibliotek med klusteromfattning för fullständig bibliotekskompatibilitetsinformation .

Viktigt!

Bibliotek kan installeras från DBFS när du använder Databricks Runtime 14.3 LTS och nedan. Alla arbetsyteanvändare kan dock ändra biblioteksfiler som lagras i DBFS. För att förbättra säkerheten för bibliotek på en Azure Databricks-arbetsyta är lagring av biblioteksfiler i DBFS-roten inaktuell och inaktiverad som standard i Databricks Runtime 15.0 och senare. Se Lagra bibliotek i DBFS-roten är inaktuell och inaktiverad som standard.

I stället rekommenderar Databricks att du laddar upp alla bibliotek, inklusive Python-bibliotek, JAR-filer och Spark-anslutningsappar, till arbetsytefiler eller Unity Catalog-volymer eller använder bibliotekspaketdatabaser. Om din arbetsbelastning inte stöder dessa mönster kan du även använda bibliotek som lagras i molnobjektlagring.

Läsa in bibliotek till objektlagring

Du kan läsa in bibliotek till objektlagring på samma sätt som du läser in andra filer. Du måste ha rätt behörigheter i molnleverantören för att kunna skapa nya objektlagringscontainrar eller läsa in filer i molnobjektlagring.

Bevilja skrivskyddade behörigheter till objektlagring

Databricks rekommenderar att du konfigurerar alla behörigheter som rör biblioteksinstallation med skrivskyddade behörigheter.

Med Azure Databricks kan du tilldela säkerhetsbehörigheter till enskilda kluster som styr åtkomsten till data i molnobjektlagring. Dessa principer kan utökas för att lägga till skrivskyddad åtkomst till molnobjektlagring som innehåller bibliotek.

Kommentar

I Databricks Runtime 12.2 LTS och nedan kan du inte läsa in JAR-bibliotek när du använder kluster med lägen för delad åtkomst. I Databricks Runtime 13.3 LTS och senare måste du lägga till JAR-bibliotek i unity-katalogens tillåtna lista. Se Tillåtlista bibliotek och init-skript för delad beräkning.

Databricks rekommenderar att du använder Microsoft Entra ID-tjänstens huvudnamn för att hantera åtkomst till bibliotek som lagras i Azure Data Lake Storage Gen2. Använd följande länkade dokumentation för att slutföra den här installationen:

  1. Skapa ett huvudnamn för tjänsten med läs- och listbehörigheter för dina önskade blobar. Se Åtkomstlagring med hjälp av tjänstens huvudnamn och Microsoft Entra-ID (Azure Active Directory).

  2. Spara dina autentiseringsuppgifter med hjälp av hemligheter. Se Hemligheter.

  3. 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/token
    

    Miljövariabler:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (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.

Installera bibliotek i kluster

Utför följande steg för att installera ett bibliotek som lagras i molnobjektlagring i ett kluster:

  1. Välj ett kluster i listan i klustrets användargränssnitt.
  2. Välj fliken Bibliotek .
  3. Välj alternativet Filsökväg/ADLS.
  4. Ange den fullständiga URI-sökvägen till biblioteksobjektet (till exempel abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl).
  5. Klicka på Installera.

Du kan också installera bibliotek med hjälp av REST-API:et eller CLI.

Installera bibliotek i notebook-filer

Du kan använda %pip för att installera anpassade Python-hjulfiler som lagras i objektlagring som är begränsade till en notebook-isolerad SparkSession. Om du vill använda den här metoden måste du antingen lagra bibliotek i offentligt läsbar objektlagring eller använda en försignerad URL.

Se Python-bibliotek med notebook-omfång.

Kommentar

DET går inte att installera JAR-bibliotek i notebook-filen. Du måste installera JAR-bibliotek på klusternivå.