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.
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, reset uw omgeving.
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:
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
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.
Klik rechts van het notitieblok op de knop om het deelvenster Omgeving uit te vouwen. Deze knop wordt alleen weergegeven wanneer een notebook is verbonden met serverloze berekeningen.
Voer in het veld Basisomgeving het pad van het geüploade YAML-bestand in of navigeer ernaartoe en select het.
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 tabblad Afhankelijkheden van het deelvenster Omgeving :
- Klik rechts van het notitieblok op de knop om het deelvenster Omgeving uit te vouwen. Deze knop wordt alleen weergegeven wanneer een notebook is verbonden met serverloze berekeningen.
- Select de omgevingsversie uit de Environment-versie vervolgkeuzelijst. Zie Serverloze Omgevingsversies. Databricks raadt u aan om de nieuwste versie te kiezen om de meest up-to-datum notebookfuncties te get.
- 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 .
- 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ïnstalleerd in het deelvenster Omgevingen voor een notebook. Pip-installatielogboeken voor de notebookomgeving zijn ook beschikbaar door op pip-logboeken te klikken onderaan het paneel.
Reset de omgeving
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 deelvenster Omgeving niet opnieuw hoeft te installeren wanneer u een bestaand notebook opent, zelfs niet als de verbinding is verbroken vanwege inactiviteit.
Het opslaan van virtuele Python-omgevingen is ook van toepassing op taken. Wanneer een opdracht wordt uitgevoerd, is elke taak van de opdracht die shares dezelfde set van afhankelijkheden heeft als een voltooide taak in die uitvoering sneller, omdat de vereiste 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 update, 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 deelvenster Environment van een notebook dat is gekoppeld aan serverloze berekeningen, klikt u op de pijl naast Toepassen en klikt u vervolgens op Reset omgeving.
Notitie
Reset de virtuele omgeving als u pakketten installeert die de kern van het notitieblok 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.
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 list van geïnstalleerde bibliotheken wilt zien, raadpleegt u de sectie Geïnstalleerde Python-bibliotheken 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 Catalogvolumesof openbare pakketopslagplaatsen. Een bibliotheek toevoegen wanneer u een taak maakt of bewerkt:
Klik in het vervolgkeuzemenu Omgeving en bibliotheken naastde standaardomgeving of klik op + Nieuwe omgeving toevoegen.
Select de omgevingsversie uit de Environment-versie vervolgkeuzelijst. Zie Serverloze omgevingsversies. Databricks raadt aan om de nieuwste versie te kiezen om de meest up-to-datumfuncties te get.
Klik in het dialoogvenster Omgeving configureren op + Bibliotheek toevoegen.
Select het type afhankelijkheid uit de vervolgkeuzelijst onder Bibliotheken.
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>.whl
zijn.Voor een
requirements.txt
-bestand select PyPi en voer-r /path/to/requirements.txt
in.
- Klik op Bevestigen of + Bibliotheek toevoegen om een andere bibliotheek toe te voegen.
- 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
Belangrijk
Deze functie bevindt zich in openbare preview-versie.
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-url
te definiëren. Als deze values echter zijn 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 van opslagplaatsen en credentialsveilig op te slaan en te beheren. Beheerders kunnen de installatie configureren met behulp van een vooraf gedefinieerde geheime scope en de Databricks CLI secrets opdrachten of de REST API-.
Als u standaardopslagplaatsen voor Python-pakketten wilt configureren, 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 set standaard PIP index-URL's of extra index-URL's, samen met authenticatietokens en geheimen, in een aangewezen geheimbereik onder vooraf gedefinieerde sleutels plaatsen.
- 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 de ACL's voor grant alle werkruimtegebruikers leestoegang. Dit zorgt ervoor dat de opslagplaats veilig blijft en niet kan worden gewijzigd door afzonderlijke gebruikers.
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.
# 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
Notitie
Wijzigingen of verwijderingen in geheimen worden toegepast nadat een gebruiker serverloze berekeningen opnieuw aan hun notebooks heeft gekoppeld of de serverloze taken opnieuw uitvoert.