Bibliotheken

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

In dit artikel gaan we in op het uitvoeren van bibliotheektaken in de werkruimte-UI. U kunt bibliotheken ook beheren met behulp van de Bibliotheken CLI of de Bibliotheken-API 2.0.

Tip

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.

Belangrijk

Azure Databricks roept Python-functies atexit niet aan wanneer de verwerking van uw notebook of taak is voltooid. Als u een Python-bibliotheek gebruikt waarmee handlers worden geregistreerd atexit , moet u ervoor zorgen dat uw code de vereiste functies aanroept voordat u afsluit.

Het installeren van Python-eieren is afgeschaft en wordt verwijderd in een toekomstige Databricks Runtime-release. Gebruik in plaats daarvan Python-wielen of installeer pakketten van PyPI.

Notitie

Microsoft Ondersteuning helpt bij het isoleren en oplossen van problemen met bibliotheken die zijn geïnstalleerd en worden beheerd door Azure Databricks. Voor onderdelen van derden, waaronder bibliotheken, biedt Microsoft commercieel redelijke ondersteuning om u te helpen bij het oplossen van problemen. Microsoft Ondersteuning biedt ondersteuning naar beste vermogen en kan het probleem mogelijk oplossen. Voor opensource-connectors en -projecten die op Github worden gehost, raden we u aan problemen op Github te melden en op te volgen. Ontwikkelingsinspanningen zoals arcerings-JAR's of het bouwen van Python-bibliotheken worden niet ondersteund via het standaard proces voor het indienen van een ondersteuningscase. Om deze inspanningen sneller te kunnen oplossen, is een adviesbenadering vereist. De ondersteuning kan u vragen andere kanalen voor opensource-technologieën te benaderen waar u diepgaande expertise voor die technologie vindt. Er zijn verschillende communitysites; twee voorbeelden zijn de Microsoft QA-pagina& voor Azure Databricks en Stack Overflow.

U kunt bibliotheken in een van de volgende drie modi installeren: werkruimte, installatie op cluster en notebook-scoped.

  • Werkruimtebibliotheken fungeren als een lokale opslagplaats van waaruit u op het cluster geïnstalleerde bibliotheken maakt. Een werkruimtebibliotheek kan via aangepaste code worden gemaakt door uw organisatie, of kan een bepaalde versie zijn van een opensource-bibliotheek die uw organisatie heeft gestandaardiseerd.
  • Clusterbibliotheken kunnen worden gebruikt door alle notebooks die op een cluster worden uitgevoerd. U kunt een clusterbibliotheek rechtstreeks installeren vanuit een openbare opslagplaats zoals PyPI of Maven, of maken op basis van een eerder geïnstalleerde werkruimtebibliotheek.
  • Met notebookbibliotheken, beschikbaar voor Python en R, kunt u bibliotheken installeren en een omgeving maken die is afgestemd op een notebooksessie. Deze bibliotheken hebben geen invloed op andere notebooks die in hetzelfde cluster worden uitgevoerd. Bibliotheken met notebookbereik blijven niet behouden en moeten opnieuw worden geïnstalleerd voor elke sessie. Gebruik bibliotheken met notebookbereik wanneer u een aangepaste omgeving nodig hebt voor een specifiek notitieblok.

In deze sectie komt het volgende aan bod:

Python-omgevingsbeheer

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

Notitie

  • Aangepaste containers die gebruikmaken van een conda-omgeving zijn niet compatibel met bibliotheken met notebookbereik in Databricks Runtime 9.0 en hoger en met clusterbibliotheken in Databricks Runtime 10.1 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 clusterbibliotheken in deze scenario's wilt blijven gebruiken, kunt u de Spark-configuratiespark.databricks.driverNfs.clusterWidePythonLibsEnabled instellen op false. Ondersteuning voor de Spark-configuratie wordt verwijderd op of na 31 december 2021.
  • Notebook-scoped bibliotheken die gebruikmaken van Magic-opdrachten zijn standaard ingeschakeld in Databricks Runtime 7.1 en hoger, Databricks Runtime 7.1 ML en hoger en Databricks Runtime 7.1 voor Genomics en hoger. Ze zijn ook beschikbaar met behulp van een configuratie-instelling in Databricks Runtime 6.4 ML tot 7.0 ML en Databricks Runtime 6.4 voor Genomics tot Databricks Runtime 7.0 voor Genomics. Zie Vereisten voor meer informatie.
  • Notebook-scoped bibliotheken met het bibliotheekhulpprogramma zijn afgeschaft en worden verwijderd in een toekomstige Databricks Runtime-versie. Deze zijn niet beschikbaar in Databricks Runtime ML of Databricks Runtime voor Genomics.
Python-pakketbron Notebook-scoped bibliotheken met %pip Notebook-scoped bibliotheken met het bibliotheekhulpprogramma Clusterbibliotheken Taakbibliotheken met jobs-API
PyPI Gebruik %pip install. Zie voorbeeld. Gebruik dbutils.library.installPyPI. Selecteer PyPI als bron. Voeg een nieuw pypi-object toe aan de taakbibliotheken en geef het veld package op.
Privé-PyPI-mirror, zoals Nexus of Artifactory Gebruik %pip install met de optie --index-url. Geheimenbeheer is beschikbaar. Zie voorbeeld. Gebruik dbutils.library.installPyPI en geef het repo argument op. 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. Wordt niet ondersteund. 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. Wordt niet ondersteund. Wordt niet ondersteund. Wordt niet ondersteund.
DBFS Gebruik %pip install. Zie voorbeeld. Gebruik dbutils.library.install(dbfs_path). Selecteer DBFS als bron. Voeg een nieuw egg- of whl-object toe aan de taakbibliotheken en geef het pad DBFS-pad op als package veld.