Delen via


Notebookafhankelijkheden installeren

U kunt Python-afhankelijkheden voor serverloze notebooks installeren met behulp van het deelvenster Omgeving . Dit deelvenster biedt één plek om de bibliotheekvereisten van een notitieblok te bewerken, weer te geven en te exporteren. Deze afhankelijkheden kunnen worden toegevoegd met behulp van een basisomgeving of afzonderlijk.

Deelvenster Serverloze omgeving met budgetbeleid

Zie Omgevingen en afhankelijkheden configureren voor niet-notebooktaken.

Belangrijk

Installeer PySpark of een bibliotheek die PySpark installeert niet als een afhankelijkheid van uw serverloze notebooks. Als u dit doet, wordt uw sessie gestopt en resulteert dit in een fout. Als dit gebeurt, verwijdert u de bibliotheek en u de omgeving opnieuw instelt.

Een basisomgeving configureren

Een basisomgeving is een YAML-bestand dat is opgeslagen als een werkruimtebestand of op een Unity Catalog-volume dat aanvullende omgevingsafhankelijkheden aangeeft. Basisomgevingen kunnen worden gedeeld tussen notebooks. Een basisomgeving configureren:

  1. Maak een YAML-bestand dat instellingen definieert voor een virtuele Python-omgeving. Het volgende voorbeeld van YAML, dat is gebaseerd op de omgevingsspecificatie van MLflow-projecten, definieert een basisomgeving met enkele bibliotheekafhankelijkheden:

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl"
      - git+https://github.com/databricks/databricks-cli
    
  2. Upload het YAML-bestand als een werkruimtebestand of naar een Unity Catalog-volume. Zie Een bestand importeren of Bestanden uploaden naar een Unity Catalog-volume.

  3. Klik rechts van het notitieblok op de knop omgeving om het deelvenster Omgeving uit te vouwen. Deze knop wordt alleen weergegeven wanneer een notebook is verbonden met serverloze berekeningen.

  4. Voer in het veld Basisomgeving het pad van het geüploade YAML-bestand in of navigeer ernaartoe en selecteer het.

  5. Klik op Toepassen. Hiermee worden de afhankelijkheden in de virtuele notebookomgeving geïnstalleerd en wordt het Python-proces opnieuw gestart.

Gebruikers kunnen de afhankelijkheden die zijn opgegeven in de basisomgeving overschrijven door afhankelijkheden afzonderlijk te installeren.

De notebookomgeving configureren

U kunt ook afhankelijkheden installeren op een notebook dat is verbonden met serverloze berekeningen met behulp van het omgevingsvenster zijpaneel:

  1. Klik rechts van het notitieblok op de knop omgeving om het deelvenster Omgeving uit te vouwen. Deze knop wordt alleen weergegeven wanneer een notebook is verbonden met serverloze berekeningen.
  2. Selecteer de omgevingsversie uit de Omgevingsversie vervolgkeuzelijst. Zie Serverloze Omgevingsversies. Databricks raadt u aan om de nieuwste versie te kiezen om de meest up-to-datum notebookfuncties te krijgen.
  3. Klik in de sectie Afhankelijkheden op Afhankelijkheid toevoegen en voer het pad in van de bibliotheekafhankelijkheid in het veld. U kunt een afhankelijkheid opgeven in elke indeling die geldig is in een requirements.txt-bestand .
  4. Klik op Toepassen. Hiermee worden de afhankelijkheden in de virtuele notebookomgeving geïnstalleerd en wordt het Python-proces opnieuw gestart.

Notitie

Een taak die gebruikmaakt van serverloze rekenkracht installeert de omgevingsspecificatie van het notebook voordat de notebookcode wordt uitgevoerd. Dit betekent dat u geen afhankelijkheden hoeft toe te voegen wanneer u notebooks als taken plant. Zie Omgevingen en afhankelijkheden configureren.

Geïnstalleerde afhankelijkheden en pip-logboeken weergeven

Als u geïnstalleerde afhankelijkheden wilt weergeven, klikt u op Geïnstalleerde in het deelvenster Omgevingen voor een notitieblok. Pip-installatielogboeken voor de notebookomgeving zijn ook beschikbaar door op pip-logboeken te klikken onderaan het paneel.

de omgeving opnieuw instellen

Als uw notebook is verbonden met serverloze berekeningen, slaat Databricks automatisch de inhoud van de virtuele omgeving van het notebook in de cache op. Dit betekent dat u in het algemeen de Python-afhankelijkheden die zijn opgegeven in het Environment zijpaneel niet opnieuw hoeft te installeren wanneer u een bestaand notitieblok opent, zelfs niet als de verbinding is verbroken vanwege inactiviteit.

Het opslaan van virtuele Python-omgevingen is ook van toepassing op taken. Wanneer een taakreeks wordt uitgevoerd, is elke taak van de taakreeks die dezelfde set afhankelijkheden deelt als een voltooide taak in die taakuitvoering sneller, omdat de benodigde afhankelijkheden al beschikbaar zijn.

Notitie

Als u de implementatie van een aangepast Python-pakket wijzigt dat wordt gebruikt in een taak zonder server, moet u ook het versienummer bijwerken, zodat taken de meest recente implementatie kunnen ophalen.

Als u de omgevingscache wilt wissen en een nieuwe installatie wilt uitvoeren van de afhankelijkheden die zijn opgegeven in het Environment zijpaneel van een notebook dat is gekoppeld aan een serverloze computeromgeving, klikt u op de pijl naast toepassen en klikt u vervolgens op omgeving opnieuw instellen.

Notitie

Stel de virtuele omgeving opnieuw in als u pakketten installeert die het kernnotitieblok of de Apache Spark-omgeving verbreken of wijzigen. Als u het notebook loskoppelt van serverloze rekenkracht en opnieuw koppelt, wordt de volledige omgevingscache niet per se gewist. Als u de omgeving opnieuw instelt, worden alle afhankelijkheden die zijn opgegeven in het Environment zijpaneel opnieuw geïnstalleerd. Zorg er dus voor dat offending-pakketten worden verwijderd voordat u het opnieuw kunt instellen.

Omgevingen en afhankelijkheden configureren voor niet-notebooktaken

Voor andere ondersteunde taaktypen, zoals Python-script, Python-wiel of dbt-taken, bevat een standaardomgeving geïnstalleerde Python-bibliotheken. Als u de lijst met geïnstalleerde bibliotheken wilt bekijken, raadpleegt u de sectie Geïnstalleerde Python-bibliotheken sectie van de clientversie die u gebruikt. Zie Serverloze Omgevingsversies. Als voor een taak een Python-bibliotheek is vereist die niet is geïnstalleerd, kunt u de bibliotheek installeren vanuit werkruimtebestanden, Unity Catalog volumesof openbare pakketopslagplaatsen. Een bibliotheek toevoegen wanneer u een taak maakt of bewerkt:

  1. Klik in het vervolgkeuzemenu Omgeving en bibliotheken naastPictogram Bewerkende standaardomgeving of klik op + Nieuwe omgeving toevoegen.

    Standaardomgeving bewerken

  2. Selecteer de omgevingsversie uit de Omgevingsversie vervolgkeuzelijst. Zie Serverloze Omgevingsversies. Databricks raadt u aan om de nieuwste versie te kiezen om de meest up-to-datumfuncties te krijgen.

  3. Klik in het dialoogvenster Omgeving configureren op + Bibliotheek toevoegen.

  4. Selecteer het type afhankelijkheid in de vervolgkeuzelijst onder Bibliotheken.

  5. Voer in het tekstvak Bestandspad het pad naar de bibliotheek in.

  • Voor een Python Wheel in een werkruimtebestand moet het pad absoluut zijn en beginnen met /Workspace/.

  • Voor een Python Wheel in een Unity Catalog-volume moet het pad /Volumes/<catalog>/<schema>/<volume>/<path>.whlzijn.

  • Selecteer PyPi voor een requirements.txt bestand en voer -r /path/to/requirements.txtin.

    Taakbibliotheken toevoegen

  1. Klik op Bevestigen of + Bibliotheek toevoegen om een andere bibliotheek toe te voegen.
  2. Als u een taak toevoegt, klikt u op Taak maken. Als u een taak bewerkt, klikt u op Taak opslaan.

Standaardopslagplaatsen voor Python-pakketten configureren

Beheerders kunnen privé- of geverifieerde pakketopslagplaatsen in werkruimten configureren als de standaard pip-configuratie voor zowel serverloze notebooks als serverloze taken. Hiermee kunnen gebruikers pakketten installeren vanuit interne Python-opslagplaatsen zonder expliciet index-url of extra-index-urlte definiëren. Als deze waarden echter worden opgegeven in code of in een notebook, hebben ze voorrang op de standaardwaarden van de werkruimte.

Deze configuratie maakt gebruik van Databricks-geheimen om url's en referenties van opslagplaatsen veilig op te slaan en te beheren. Beheerders kunnen de instellingen configureren via de werkruimtebeheerdersinstellingenpagina, een vooraf gedefinieerde geheime scope en de Databricks CLI geheimen opdrachten, of de REST API.

Instellen met behulp van de pagina met instellingen voor werkruimtebeheerders

Werkruimtebeheerders kunnen de standaardopslagplaatsen voor Python-pakketten toevoegen of verwijderen met behulp van de pagina met werkruimtebeheerdersinstellingen.

  1. Meld u als werkruimtebeheerder aan bij de Databricks-werkruimte.
  2. Klik op uw gebruikersnaam in de bovenste balk van de Databricks-werkruimte en selecteer Instellingen.
  3. Klik op het tabblad Compute.
  4. Naast Standaardpakketopslagplaatsen, klik op Beheren.
  5. (Optioneel) Een index-URL, extra index-URL's of een aangepast SSL-certificaat toevoegen of verwijderen.
  6. Klik op Opslaan om de wijzigingen op te slaan.

Notitie

Wijzigingen of verwijderingen in geheimen worden toegepast na het opnieuw koppelen van serverloze berekeningen aan notebooks of het opnieuw uitvoeren van de serverloze taken.

Instellen met behulp van de geheimen CLI of REST API

Als u standaardopslagplaatsen voor Python-pakketten wilt configureren met behulp van de CLI of REST API, maakt u een vooraf gedefinieerd geheimbereik en configureert u toegangsmachtigingen en voegt u vervolgens de geheimen van de pakketopslagplaats toe.

Vooraf gedefinieerde naam van geheim bereik

Werkruimtebeheerders kunnen standaard pip-index-URL's of extra index-URL's instellen, in combinatie met verificatietokens en geheimen in een aangewezen geheimbereik bij vooraf gedefinieerde sleutels.

  • Naam van geheim bereik: databricks-package-management
  • Geheime sleutel voor index-URL: pip-index-url
  • Geheime sleutel voor extra index-URL's: pip-extra-index-urls
  • Geheime sleutel voor SSL-certificeringsinhoud: pip-cert

De geheime scope maken

Een geheim bereik kan worden gemaakt met behulp van de Databricks CLI-geheimenopdrachten of de REST API. Nadat u het geheime bereik hebt gemaakt, configureert u toegangsbeheerlijsten om alle werkruimtegebruikers leestoegang te verlenen. Dit zorgt ervoor dat de opslagplaats veilig blijft en niet kan worden gewijzigd door afzonderlijke gebruikers. Het geheime bereik moet de vooraf gedefinieerde naam van het geheime bereik gebruiken databricks-package-management.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Geheimen voor Python-pakketopslagplaats toevoegen

Voeg de details van de Python-pakketopslagplaats toe met behulp van de vooraf gedefinieerde geheime sleutelnamen, waarbij alle drie de velden optioneel zijn.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Persoonlijke PyPI-opslagplaatsgeheimen wijzigen of verwijderen

Gebruik de opdracht put-secret om de geheimen van de PyPI-opslagplaats te wijzigen. Als u geheimen van pyPI-opslagplaatsen wilt verwijderen, gebruikt u delete-secret zoals hieronder wordt weergegeven:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete scope
databricks secrets delete-scope databricks-package-management