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 ook bibliotheken beheren met behulp van de Libraries CLI of de Libraries-API 2.0.

Tip

Azure Databricks bevat nu 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 geen Python-functies atexit 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 Release van Databricks Runtime. 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 Q&A-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 zijn niet van invloed op andere notebooks die op hetzelfde cluster worden uitgevoerd. Notebook-scoped bibliotheken blijven niet behouden en moeten voor elke sessie opnieuw worden geïnstalleerd. Gebruik notebookbibliotheken 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 notebookbibliotheken 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 met magic-opdrachten zijn standaard ingeschakeld. Zie Vereisten voor meer informatie.
  • Notebook-scoped bibliotheken met het bibliotheekhulpprogramma zijn afgeschaft.
Python-pakketbron Notebook-scoped bibliotheken met %pip Notebook-scoped bibliotheken met het bibliotheekhulpprogramma (afgeschaft) Clusterbibliotheken Taakbibliotheken met taken-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 argument op repo . 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 de bron en geef de URL van de opslagplaats op als de 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.