Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit la syntaxe permettant de déclarer les dépendances de bibliothèque des bundles de ressources Databricks. Les paquets permettent la gestion programmatique des jobs Lakeflow. Veuillez consulter la section Que sont-les Databricks Asset Bundles ?.
En plus des notebooks et des fichiers source, vos tâches dépendront probablement de bibliothèques pour fonctionner comme prévu. Les dépendances de bibliothèque sont déclarées dans vos fichiers de configuration groupés et sont souvent nécessaires dans le cadre de la spécification du type de tâche de travail .
Les bundles prennent en charge les dépendances de bibliothèque suivantes :
- Fichier Python wheel
- Fichier JAR (Java ou Scala)
- Packages PyPI, Maven ou CRAN
Pour Python, vous pouvez également spécifier des dépendances de tâche de travail dans un requirements.txt fichier et l’inclure dans votre bundle. Voir Python requirements.txt.
Note
Si une bibliothèque est prise en charge dépend de la configuration du cluster et de la source de la bibliothèque. Pour obtenir des informations complètes sur la prise en charge des bibliothèques, consultez Installer des bibliothèques.
Fichier Python wheel
Pour ajouter un fichier Python wheel à une tâche de job, dans libraries, spécifiez un whl mapping pour chaque bibliothèque à installer. Vous pouvez installer un fichier wheel à partir des fichiers de l’espace de travail, des volumes Unity Catalog, du stockage objet dans le cloud ou d’un chemin de fichier local.
Importante
Les bibliothèques peuvent être installées à partir de DBFS lors de l’utilisation de Databricks Runtime 14.3 LTS et des versions précédentes. Cependant, tout utilisateur de l’espace de travail peut modifier les fichiers de bibliothèque stockés dans DBFS. Pour améliorer la sécurité des bibliothèques dans un espace de travail Azure Databricks, le stockage des fichiers de bibliothèque à la racine de DBFS est obsolète et désactivé par défaut dans Databricks Runtime 15.1 et les versions suivantes. Veuillez consulter la section Le stockage des bibliothèques à la racine de DBFS est obsolète et désactivé par défaut.
Databricks recommande plutôt de téléverser toutes les bibliothèques, y compris les bibliothèques Python, les fichiers JAR et les connecteurs Spark, dans les fichiers de l’espace de travail ou les volumes Unity Catalog, ou d’utiliser des référentiels de packages de bibliothèque. Si votre charge de travail ne prend pas en charge ces modèles, vous pouvez également utiliser des bibliothèques stockées dans le stockage objet dans le cloud.
L’exemple suivant montre comment installer trois fichiers Python wheel pour une tâche de job.
- Le premier fichier Python wheel a été soit précédemment uploadé dans l’espace de travail Azure Databricks, soit ajouté en tant qu’élément
includedans lesyncmapping, et se trouve dans le même dossier local que le fichier de configuration du bundle. - Le deuxième fichier Python wheel se trouve à l’emplacement des fichiers de l’espace de travail spécifié dans l’espace de travail Azure Databricks.
- Le troisième fichier Python wheel a été précédemment téléversé dans le volume nommé
my-volumedans l’espace de travail Azure Databricks.
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
Fichier JAR (Java ou Scala)
Pour ajouter un fichier JAR à une tâche de job, dans libraries, spécifiez un jar mapping pour chaque bibliothèque à installer. Vous pouvez installer un fichier JAR à partir de volumes Unity Catalog, d’un stockage d’objets cloud ou d’un chemin d’accès de fichier local.
Importante
Les bibliothèques peuvent être installées à partir de DBFS lors de l’utilisation de Databricks Runtime 14.3 LTS et des versions précédentes. Cependant, tout utilisateur de l’espace de travail peut modifier les fichiers de bibliothèque stockés dans DBFS. Pour améliorer la sécurité des bibliothèques dans un espace de travail Azure Databricks, le stockage des fichiers de bibliothèque à la racine de DBFS est obsolète et désactivé par défaut dans Databricks Runtime 15.1 et les versions suivantes. Veuillez consulter la section Le stockage des bibliothèques à la racine de DBFS est obsolète et désactivé par défaut.
Databricks recommande plutôt de téléverser toutes les bibliothèques, y compris les bibliothèques Python, les fichiers JAR et les connecteurs Spark, dans les fichiers de l’espace de travail ou les volumes Unity Catalog, ou d’utiliser des référentiels de packages de bibliothèque. Si votre charge de travail ne prend pas en charge ces modèles, vous pouvez également utiliser des bibliothèques stockées dans le stockage objet dans le cloud.
L’exemple suivant montre comment installer un fichier JAR qui a été précédemment téléversé dans le volume nommé my-volume dans l’espace de travail Azure Databricks.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar
Par exemple, configuration qui génère et déploie le fichier JAR, consultez Bundle qui charge un fichier JAR dans le catalogue Unity. Pour obtenir un didacticiel qui crée un projet groupé qui génère et déploie un fichier JAR Scala, consultez Générer un fichier JAR Scala à l’aide de Bundles de ressources Databricks.
Package PyPI
Pour ajouter un package PyPI à une définition de tâche de job, dans libraries, spécifiez un pypi mapping pour chaque package PyPI à installer. Pour chaque mappage, spécifiez les éléments suivants :
- Pour
package, spécifiez le nom du package PyPI à installer. Une spécification de version exacte facultative est également prise en charge. - De manière facultative, pour
repo, vous pouvez spécifier le référentiel où se trouve le package PyPI. S’il n’est pas spécifié, l’indexpippar défaut est utilisé (https://pypi.org/simple/).
L’exemple suivant montre comment installer deux packages PyPI.
- Le premier package PyPI utilise la version du package spécifiée et l’index
pippar défaut. - Le deuxième package PyPI utilise la version du package spécifiée et l’index
pipexplicitement spécifié.
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/
Package Maven
Pour ajouter un package Maven à une définition de tâche de job, dans libraries, spécifiez un maven mapping pour chaque package Maven à installer. Pour chaque mappage, spécifiez les éléments suivants :
- Pour
coordinates, spécifiez les coordonnées Maven au format Gradle du package. - De manière facultative, pour
repo, vous pouvez spécifier le référentiel Maven à partir duquel installer le package Maven. Si vous l’omettez, le référentiel Maven Central et le référentiel Spark Packages sont tous deux utilisés. - De manière facultative, pour
exclusions, vous pouvez spécifier les dépendances à exclure explicitement. Veuillez consulter la section Exclusions de dépendances Maven.
L’exemple suivant montre comment installer deux packages Maven.
- Le premier package Maven utilise les coordonnées de package spécifiées et recherche ce package à la fois dans le référentiel Maven Central et dans le référentiel Spark Packages.
- Le deuxième package Maven utilise les coordonnées de package spécifiées, recherche ce package uniquement dans le référentiel central Maven et n’inclut aucune des dépendances de ce package qui correspondent au modèle spécifié.
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*
requirements.txt Python
Les dépendances de bibliothèque Python peuvent également être spécifiées dans un requirements*.txt fichier inclus dans le cadre de la définition de tâche de travail. Le chemin d’accès au fichier peut être un chemin d’accès local, un chemin d’accès d’espace de travail ou un chemin de volume du catalogue Unity.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- requirements: ./local/path/requirements.txt