Training
Module
Workloads automatiseren met Azure Databricks-taken - Training
Workloads automatiseren met Azure Databricks-taken
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In dit artikel worden de syntaxis beschreven voor het declareren van bibliotheekafhankelijkheden van Databricks Asset Bundles. Bundels maken programmatisch beheer van Azure Databricks-werkstromen mogelijk. Bekijk wat zijn Databricks Asset Bundles?.
Naast notebooks zijn uw Azure Databricks-taken waarschijnlijk afhankelijk van bibliotheken om naar verwachting te kunnen werken. Databricks Asset Bundles-afhankelijkheden voor lokale ontwikkeling worden opgegeven in het requirements*.txt
bestand in de hoofdmap van het bundelproject, maar taaktaakbibliotheekafhankelijkheden worden gedeclareerd in uw bundelconfiguratiebestanden en zijn vaak nodig als onderdeel van de taaktypespecificatie .
Bundels bieden ondersteuning voor de volgende bibliotheekafhankelijkheden voor Azure Databricks-taken:
Notitie
Of een bibliotheek wel of niet wordt ondersteund, is afhankelijk van de clusterconfiguratie voor de taak en de bibliotheekbron. Zie Bibliotheken voor volledige informatie over bibliotheekondersteuning.
Als u een Python-wielbestand aan een taaktaak wilt toevoegen, libraries
geeft u een whl
toewijzing op voor elke bibliotheek die moet worden geïnstalleerd. U kunt een wielbestand installeren vanuit werkruimtebestanden, Unity Catalog-volumes, cloudobjectopslag of een lokaal bestandspad.
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 standaard afgeschaft en uitgeschakeld in Databricks Runtime 15.1 en hoger. Zie Opslaan van bibliotheken in dbFS-hoofdmap is afgeschaft en standaard uitgeschakeld.
In plaats daarvan beveelt Databricks aan om alle bibliotheken, inclusief Python-bibliotheken, JAR-bestanden en Spark-connectors, te uploaden naar werkruimtebestanden of Unity Catalog-volumes, of om gebruik te maken van bibliotheekpakketopslagplaatsen. Als uw workload deze patronen niet ondersteunt, kunt u ook bibliotheken gebruiken die zijn opgeslagen in de opslag van cloudobjecten.
In het volgende voorbeeld ziet u hoe u drie Python-wielbestanden voor een taaktaak installeert.
include
item in de sync
toewijzing en bevindt zich in dezelfde lokale map als het bundelconfiguratiebestand.my-volume
in de Azure Databricks-werkruimte.resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- whl: ./my-wheel-0.1.0.whl
- whl: /Workspace/Shared/Libraries/my-wheel-0.0.1-py3-none-any.whl
- whl: /Volumes/main/default/my-volume/my-wheel-0.1.0.whl
Als u een JAR-bestand wilt toevoegen aan een taaktaak, libraries
geeft u een jar
toewijzing op voor elke bibliotheek die moet worden geïnstalleerd. U kunt een JAR installeren vanuit werkruimtebestanden, Unity Catalog-volumes, cloudobjectopslag of een lokaal bestandspad.
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 standaard afgeschaft en uitgeschakeld in Databricks Runtime 15.1 en hoger. Zie Opslaan van bibliotheken in dbFS-hoofdmap is afgeschaft en standaard uitgeschakeld.
In plaats daarvan beveelt Databricks aan om alle bibliotheken, inclusief Python-bibliotheken, JAR-bestanden en Spark-connectors, te uploaden naar werkruimtebestanden of Unity Catalog-volumes, of om gebruik te maken van bibliotheekpakketopslagplaatsen. Als uw workload deze patronen niet ondersteunt, kunt u ook bibliotheken gebruiken die zijn opgeslagen in de opslag van cloudobjecten.
In het volgende voorbeeld ziet u hoe u een JAR-bestand installeert dat eerder is geüpload naar het volume met de naam my-volume
in de Azure Databricks-werkruimte.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar
Zie Bundle waarmee een JAR-bestand wordt geüpload naar Unity Catalogvoor een voorbeeld dat het JAR-bestand bouwt en implementeert.
Als u een PyPI-pakket wilt toevoegen aan een taaktaakdefinitie, libraries
geeft u een pypi
toewijzing op voor elk PyPI-pakket dat moet worden geïnstalleerd. Geef voor elke toewijzing het volgende op:
package
Geef de naam op van het PyPI-pakket dat moet worden geïnstalleerd. Er wordt ook een optionele exacte versiespecificatie ondersteund.repo
de opslagplaats op waar het PyPI-pakket kan worden gevonden. Als dit niet is opgegeven, wordt de standaardindex pip
gebruikt (https://pypi.org/simple/).In het volgende voorbeeld ziet u hoe u twee PyPI-pakketten installeert.
pip
.pip
index.resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- pypi:
package: wheel==0.41.2
- pypi:
package: numpy==1.25.2
repo: https://pypi.org/simple/
Als u een Maven-pakket wilt toevoegen aan een taakdefinitie, libraries
geeft u een maven
toewijzing op voor elk Maven-pakket dat moet worden geïnstalleerd. Geef voor elke toewijzing het volgende op:
coordinates
Geef voor het pakket de Maven-coördinaten in Gradle-stijl op.repo
de Maven-opslagplaats op waaruit het Maven-pakket moet worden geïnstalleerd. Als u dit weglaat, worden zowel de centrale Maven-opslagplaats als de Spark Packages-opslagplaats doorzocht.exclusions
eventuele afhankelijkheden op die expliciet moeten worden uitgesloten. Zie Uitsluitingen van Maven-afhankelijkheid.In het volgende voorbeeld ziet u hoe u twee Maven-pakketten installeert.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- maven:
coordinates: com.databricks:databricks-sdk-java:0.8.1
- maven:
coordinates: com.databricks:databricks-dbutils-scala_2.13:0.1.4
repo: https://mvnrepository.com/
exclusions:
- org.scala-lang:scala-library:2.13.0-RC*
Training
Module
Workloads automatiseren met Azure Databricks-taken - Training
Workloads automatiseren met Azure Databricks-taken