Delen via


Bibliotheken installeren

Als u externe of aangepaste code beschikbaar wilt maken voor notebooks en taken die worden uitgevoerd op uw rekenresources, kunt u een bibliotheek installeren. Bibliotheken kunnen worden geschreven in Python, Java, Scala en R. U kunt Python-, Java- en Scala-bibliotheken uploaden en naar externe pakketten verwijzen in PyPI-, Maven- en CRAN-opslagplaatsen.

Azure Databricks bevat veel algemene bibliotheken in Databricks Runtime. Als u wilt zien welke bibliotheken standaard in Databricks Runtime zijn inbegrepen, gaat u naar de subsectie Systeemomgeving van de Databricks Runtime-releaseopmerkingen voor uw Databricks Runtime-versie.

Notitie

Microsoft Ondersteuning helpt bij het isoleren en oplossen van problemen met betrekking tot bibliotheken die zijn geïnstalleerd en onderhouden door Azure Databricks. Voor onderdelen van derden, waaronder bibliotheken, biedt Microsoft commercieel redelijke ondersteuning om u te helpen bij het verder oplossen van problemen. Microsoft Ondersteuning helpt u op basis van best effort en kan het probleem mogelijk oplossen. Voor open source connectors en projecten die worden gehost op Github, raden we u aan problemen op GitHub op te slaan en deze op te volgen. Ontwikkelingsinspanningen zoals het schaduwen van JAR-bestanden of het bouwen van Python-bibliotheken worden niet ondersteund via het standaardproces voor het indienen van ondersteuningscases: ze vereisen een adviestraject voor snellere oplossing. Ondersteuning kan u vragen om andere kanalen in te schakelen voor opensourcetechnologieën, waar u diepgaande expertise voor die technologie kunt vinden. Er zijn verschillende communitysites; twee voorbeelden zijn de Microsoft Q&A-pagina voor Azure Databricks en Stack Overflow.

bibliotheken met rekenbereik

U kunt bibliotheken installeren op een rekenresource, zodat ze kunnen worden gebruikt door alle notebooks en taken die worden uitgevoerd op de berekening. Databricks ondersteunt Python-, JAR- en R-bibliotheken. Zie bibliotheken met rekenbereik.

U kunt rechtstreeks vanuit de volgende bronnen een bibliotheek met rekenbereik installeren:

Niet alle locaties worden ondersteund voor alle typen bibliotheken of alle rekenconfiguraties. Zie Aanbevelingen voor het uploaden van bibliotheken voor configuratieaanbevelingen.

Belangrijk

Bibliotheken kunnen worden geïnstalleerd vanuit DBFS wanneer u Databricks Runtime 14.3 LTS en hieronder gebruikt. Elke werkruimtegebruiker kan echter bibliotheekbestanden wijzigen die zijn opgeslagen in DBFS. Om de beveiliging van bibliotheken in een Azure Databricks werkruimte te verbeteren, wordt het opslaan van bibliotheekbestanden in de DBFS-hoofdmap afgeschaft en standaard uitgeschakeld in Databricks Runtime 15.1 en hoger. Zie Opslaan van bibliotheken in dbFS-hoofdmap is afgeschaft en standaard uitgeschakeld.

In plaats daarvan raadt Databricks aan om alle bibliotheken, waaronder Python-bibliotheken, JAR-bestanden en Spark-connectors, te uploaden naar werkruimtebestanden of Unity Catalog-volumes, of gebruik te maken van opslagplaatsen voor bibliotheekpakketten. Als uw workload deze patronen niet ondersteunt, kunt u ook bibliotheken gebruiken die zijn opgeslagen in de opslag van cloudobjecten.

Zie Python bibliotheekondersteuning, Java en Scala-bibliotheekondersteuning en R-bibliotheekondersteuning voor volledige informatie over bibliotheekondersteuning.

Aanbevelingen voor het uploaden van bibliotheken

Databricks ondersteunt de meeste configuratie-installaties van Python-, JAR- en R-bibliotheken, maar er zijn enkele niet-ondersteunde scenario's. Het wordt aanbevolen om bibliotheken te uploaden naar bronlocaties die ondersteuning bieden voor installatie op compute met de standaardtoegangsmodus (voorheen gedeelde toegangsmodus), omdat dit de aanbevolen modus is voor alle workloads. Zie Toegangsmodi. Wanneer u taken plant met de standaardtoegangsmodus, voert u de taak uit met een service-principal.

Belangrijk

Gebruik alleen compute met de toegewezen toegangsmodus (voorheen de modus voor toegang van één gebruiker) als de vereiste functionaliteit niet wordt ondersteund door de standaardtoegangsmodus. Geen isolatie van de modus voor gedeelde toegang is een verouderde configuratie in Databricks die niet wordt aanbevolen.

De volgende tabel bevat aanbevelingen die zijn georganiseerd door de Databricks Runtime-versie en de activering van Unity Catalog.

Configuratie Aanbeveling
Databricks Runtime 13.3 LTS en hoger met Unity Catalog Installeer bibliotheken op compute met standaardtoegangsmodus van Unity Catalog volumes met GRANT READ voor de benodigde gebruikers.
Indien van toepassing moeten Maven-coördinaten en JAR-bibliotheekpaden worden toegevoegd aan de acceptatielijst.
Databricks Runtime 11.3 LTS en hoger zonder Unity Catalog Installeer bibliotheken uit werkruimtebestanden. (De limiet voor de bestandsgrootte is 500 MB.)
Databricks Runtime 10.4 LTS en lager Installeer bibliotheken vanuit cloudobjectopslag.

ondersteuning voor Python-bibliotheek

De volgende tabel geeft de compatibiliteit aan van Databricks Runtime-versies voor Python-wielbestanden in verschillende compute-toegangsmodi op basis van de locatie van de bibliotheekbron. Zie de releaseopmerkingen van Databricks Runtime en de compatibiliteit en Toegangsmodi.

In Databricks Runtime 15.0 en hoger kunt u requirements.txt-bestanden gebruiken om uw Python afhankelijkheden te beheren. Deze bestanden kunnen worden geüpload naar elke ondersteunde bronlocatie.

Notitie

Het installeren van Python egg-bestanden wordt alleen ondersteund in Databricks Runtime 13.3 LTS of lager, en alleen voor toegewezen of geen geïsoleerde gedeelde toegangsmodes. Bovendien kunt u Python eierbestanden niet installeren op volumes of werkruimtebestanden. Gebruik in plaats daarvan Python wielbestanden of installeer pakketten van PyPI.

Standaardtoegangsmodus Toegewezen toegangsmodus Geen isolatiemodus voor gedeelde toegang (verouderd)
PyPI 13.3 LTS en hoger Alle ondersteunde Databricks Runtime-versies Alle ondersteunde Databricks Runtime-versies
Werkruimtebestanden 13.3 LTS en hoger 13.3 LTS en hoger 14.1 en hoger
Hoeveelheden 13.3 LTS en hoger 13.3 LTS en hoger Niet ondersteund
Cloudopslag 13.3 LTS en hoger Alle ondersteunde Databricks Runtime-versies Alle ondersteunde Databricks Runtime-versies
DBFS (niet aanbevolen) Niet ondersteund 14.3 en lager 14.3 en lager

ondersteuning voor Java- en Scala-bibliotheek

In de volgende tabel wordt de compatibiliteit van Databricks Runtime-versies met JAR-bestanden aangegeven voor verschillende modi voor toegang tot rekenbronnen op basis van de bronlocatie van de bibliotheek. Zie de releaseopmerkingen van Databricks Runtime en de compatibiliteit en Toegangsmodi.

Zie Zelfstudie: Scala-code uitvoeren op serverloze compute voor meer informatie over het implementeren van Scala JAR-bestanden op een cluster met Unity Catalog in de standaardtoegangsmodus. Houd er rekening mee dat in standaardclusters van Unity Catalog klassen in JAR-bibliotheken zich in een benoemd pakket moeten bevinden, zoals com.databricks.MyClassof er fouten optreden bij het importeren van de bibliotheek.

Notitie

Voor de standaardtoegangsmodus moet een beheerder de Maven-coördinaten en paden van JAR-bibliotheken toevoegen aan een allowlist. Zie Allowlist-bibliotheken en init-scripts voor berekening met de standaardtoegangsmodus (voorheen gedeelde toegangsmodus).

Standaardtoegangsmodus Toegewezen toegangsmodus Geen isolatiemodus voor gedeelde toegang (verouderd)
Maven 13.3 LTS en hoger Alle ondersteunde Databricks Runtime-versies Alle ondersteunde Databricks Runtime-versies
Werkruimtebestanden Niet ondersteund Niet ondersteund 14.1 en hoger
Hoeveelheden 13.3 LTS en hoger 13.3 LTS en hoger Niet ondersteund
Cloudopslag 13.3 LTS en hoger Alle ondersteunde Databricks Runtime-versies Alle ondersteunde Databricks Runtime-versies
DBFS (niet aanbevolen) Niet ondersteund 14.3 en lager 14.3 en lager

Ondersteuning voor R-bibliotheek

In de volgende tabel wordt de compatibiliteit van databricks Runtime-versies voor CRAN-pakketten voor verschillende compute-toegangsmodi aangegeven. Zie de releaseopmerkingen van Databricks Runtime en de compatibiliteit en Toegangsmodi.

Standaardtoegangsmodus Toegewezen toegangsmodus Geen isolatiemodus voor gedeelde toegang (verouderd)
CRAN Niet ondersteund Alle ondersteunde Databricks Runtime-versies Alle ondersteunde Databricks Runtime-versies

Installatie-identiteit

Wanneer u een bibliotheek installeert vanuit werkruimtebestanden of Unity Catalog-volumes, kan een identiteit worden gekoppeld aan de installatie, afhankelijk van de rekentoegangsmodus. De identiteit moet leestoegang hebben tot het bibliotheekbestand.

Standaardtoegangsmodus Toegewezen toegangsmodus Geen isolatiemodus voor gedeelde toegang (verouderd)
De identiteit van de gebruiker die de bibliotheek installeert De identiteit van de toegewezen principal Geen identiteit

Notebook-scoped bibliotheken

Met notebook-scoped bibliotheken, beschikbaar voor Python en R, kunt u bibliotheken installeren en een omgeving maken die is afgestemd op een notebooksessie. Deze bibliotheken zijn niet van invloed op andere notebooks die op dezelfde computing resource worden uitgevoerd. Notebook-scoped bibliotheken gaan niet mee en moeten opnieuw geïnstalleerd worden voor elke sessie. Gebruik notebook-specifieke bibliotheken wanneer u een aangepaste omgeving nodig hebt voor een specifiek notitieblok.

Notitie

JAR's kunnen niet worden geïnstalleerd op notebookniveau.

Belangrijk

Werkruimtebibliotheken zijn afgeschaft en mogen niet worden gebruikt. Zie Werkruimtebibliotheken (verouderd). Het opslaan van bibliotheken als werkruimtebestanden verschilt echter van werkruimtebibliotheken en wordt nog steeds volledig ondersteund. U kunt bibliotheken installeren die als werkruimtebestanden zijn opgeslagen, rechtstreeks voor berekenings- of taaktaken.

Python omgevingsbeheer

De volgende tabel bevat een overzicht van de opties die u kunt gebruiken om Python bibliotheken in Azure Databricks te installeren.

Notitie

  • Aangepaste containers die gebruikmaken van een conda-omgeving, zijn niet compatibel met notebookbibliotheken en met rekenbibliotheken in Databricks Runtime 10.4 LTS en hoger. In plaats daarvan raadt Azure Databricks aan om bibliotheken rechtstreeks in de installatiekopieën te installeren of init-scripts te gebruiken. Als u rekenbibliotheken in deze scenario's wilt blijven gebruiken, kunt u de Spark-configuratie instellenspark.databricks.driverNfs.clusterWidePythonLibsEnabled op false. Ondersteuning voor de Spark-configuratie wordt verwijderd op of na 31 december 2021.
Python pakketbron Met %pip voor notebook-beperkte bibliotheken Notebook-scoped bibliotheken met een YAML-bestand van de basisomgeving bibliotheken met rekenbereik Taakbibliotheken met Jobs API
PyPI Gebruik %pip install. Zie voorbeeld. Voeg een PyPI-pakketnaam toe aan een YAML-bestand in de basisomgeving. Zie voorbeeld. Selecteer PyPI als de bron. Voeg een nieuw pypi-object toe aan de taakbibliotheken en geef het veld package op.
Privé-PyPI-spiegel, zoals Nexus of Artifactory Gebruik %pip install met de optie --index-url. Geheimenbeheer is beschikbaar. Zie voorbeeld. Voeg het -–index-url bestand toe aan een YAML-basisomgeving. Geheimenbeheer is beschikbaar. Zie voorbeeld. Wordt niet ondersteund. Wordt niet ondersteund.
VCS, zoals GitHub, met onbewerkte bron Gebruik %pip install en geef de opslagplaats-URL op als pakketnaam. Zie voorbeeld. Voeg een opslagplaats-URL toe als pakketnaam aan een YAML-bestand in de basisomgeving. Zie voorbeeld. Selecteer PyPI als bron- en geef de URL van de opslagplaats op als pakketnaam. Voeg een nieuw pypi object toe aan de taakbibliotheken en geef de URL van de opslagplaats op als het package veld.
Privé-VCS met onbewerkte bron Gebruik %pip install en geef de opslagplaats-URL met basisverificatie op als pakketnaam. Geheimenbeheer is beschikbaar. Zie voorbeeld. Voeg een opslagplaats met basisverificatie toe als pakketnaam aan een YAML-bestand in de basisomgeving. Zie voorbeeld. Wordt niet ondersteund. Wordt niet ondersteund.
Bestandspad Gebruik %pip install. Zie voorbeeld. Voeg een bestandspad toe als pakketnaam aan een YAML-bestand in de basisomgeving. Zie voorbeeld. Selecteer bestandspad/ADLS als bron. Voeg een nieuw egg of whl object toe aan de taakbibliotheken en geef het bestandspad op als het package veld.
Azure Data Lake Storage Gebruik %pip install samen met een vooraf ondertekende URL. Paden met het Azure Data Lake Storage-protocol abfss:// worden niet ondersteund. Voeg een vooraf ondertekende URL toe als pakketnaam aan een YAML-bestand in de basisomgeving. Paden met het Azure Data Lake Storage-protocol abfss:// worden niet ondersteund. Selecteer bestandspad/ADLS als bron. Voeg een nieuw egg of whl-object toe aan de taakbibliotheken en geef het pad Azure Data Lake Storage op als het veld package.

Python bibliotheekprioriteit

Mogelijk ondervindt u een situatie waarin u de versie voor een ingebouwde bibliotheek moet overschrijven of een aangepaste bibliotheek moet hebben die een conflict met de naam heeft met een andere bibliotheek die op de rekenresource is geïnstalleerd. Wanneer u import <library> uitvoert, wordt de bibliotheek met de hoge voorrang geïmporteerd.

Belangrijk

Bibliotheken die zijn opgeslagen in werkruimtebestanden hebben verschillende prioriteit, afhankelijk van hoe ze worden toegevoegd aan de Python sys.path. Een Databricks Git-map voegt de huidige werkmap aan het pad toe vóór alle andere bibliotheken, terwijl notebooks buiten Git-mappen de huidige werkmap toevoegen nadat andere bibliotheken zijn geïnstalleerd. Als u handmatig werkruimtemappen aan uw pad toevoegt, hebben deze altijd de laagste prioriteit.

De volgende lijst geeft prioriteit van hoog naar laag. In deze lijst betekent een lager getal een hogere prioriteit.

  1. Bibliotheken in de huidige werkmap (alleen Git-mappen).
  2. Bibliotheken in de hoofdmap van de Git-map (alleen Git-mappen).
  3. Notebook-scoped bibliotheken (%pip install in notitieboeken).
  4. Bibliotheken met rekenbereik (met behulp van de gebruikersinterface, CLI of API).
  5. Bibliotheken die zijn opgenomen in Databricks Runtime.
    • Bibliotheken die zijn geïnstalleerd met init-scripts, kunnen worden opgelost voor of na ingebouwde bibliotheken, afhankelijk van hoe ze zijn geïnstalleerd. Databricks raadt het installeren van bibliotheken met init-scripts niet aan.
  6. Bibliotheken in de huidige werkmap (niet in Git-mappen).
  7. Werkruimtebestanden toegevoegd aan de sys.path.