Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
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:
- Een pakketopslagplaats zoals PyPI, Maven of CRAN
- Werkruimtebestanden
- Unity Catalogus volumes
- Een opslaglocatie voor cloudobjecten
- Een pad op uw lokale computer
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 instellen
spark.databricks.driverNfs.clusterWidePythonLibsEnabledopfalse. 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.
- Bibliotheken in de huidige werkmap (alleen Git-mappen).
- Bibliotheken in de hoofdmap van de Git-map (alleen Git-mappen).
- Notebook-scoped bibliotheken (
%pip installin notitieboeken). - Bibliotheken met rekenbereik (met behulp van de gebruikersinterface, CLI of API).
- 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.
- Bibliotheken in de huidige werkmap (niet in Git-mappen).
- Werkruimtebestanden toegevoegd aan de
sys.path.