Utiliser du code source à version contrôlée dans un travail Azure Databricks

Vous pouvez exécuter des travaux en utilisant des notebooks ou du code Python situés dans un dépôt Git distant ou un dossier Git Databricks. Cette fonctionnalité simplifie la création et la gestion des travaux de production, et automatise le déploiement continu :

  • Vous n’avez pas besoin de créer un dépôt de production distinct dans Azure Databricks, de gérer ses autorisations, et de le tenir à jour.
  • Vous pouvez empêcher les modifications involontaires apportées à un travail de production, comme les modifications locales dans le référentiel de production ou les changements liés au basculement vers une autre branche.
  • Le processus de définition de travail a une seule source de vérité dans le dépôt distant, et chaque exécution de travail est liée à un hachage de commit.

Pour utiliser du code source dans un dépôt Git distant, vous devez Configurer des dossiers Git Databricks (Repos).

Remarque

Si votre travail s’exécute en utilisant un principal de service comme identité, vous pouvez configurer le principal de service sur le dossier Git contenant le code source du travail. Consultez Utiliser un principal de service avec des dossiers Git Databricks.

Utiliser un notebook à partir d’un référentiel Git distant

Pour créer une tâche avec un notebook situé dans un référentiel Git distant :

  1. Cliquez sur Icône TravauxWorkflows dans la barre latérale et cliquez sur le bouton Créer un travail ou accédez à un travail existant et ajoutez une nouvelle tâche.

  2. S’il s’agit d’un nouveau travail, remplacez Ajouter un nom pour votre travail par le nom de votre travail.

  3. Dans le champ Nom de la tâche, entrez un nom pour la tâche.

  4. Dans le menu déroulant Type, sélectionnez Notebook.

  5. Dans le menu déroulant Source, sélectionnez Fournisseur Git, puis cliquez sur Modifier ou Ajouter une référence Git. La boîte de dialogue Informations Git s’affiche.

  6. Dans la boîte de dialogue Informations Git, entrez les détails du dépôt, notamment l’URL du dépôt, le fournisseur Git et la référence Git. Cette référence Git peut être une branche, une étiquette ou un commit.

    Pour Chemin d’accès, entrez un chemin relatif à l’emplacement du notebook, par exemple etl/notebooks/.

    Lorsque vous entrez le chemin relatif, ne commencez pas par / ou ./, et n’incluez pas l’extension de fichier de notebook, par exemple .py. Par exemple, si le chemin absolu du notebook auquel vous souhaitez accéder est /notebooks/covid_eda_raw.py, entrez notebooks/covid_eda_raw dans le champ Chemin.

  7. Cliquez sur Créer.

Utiliser du code Python à partir d’un référentiel Git distant

Pour créer une tâche avec du code Python situé dans un référentiel Git distant :

  1. Cliquez sur Icône TravauxWorkflows dans la barre latérale et cliquez sur le bouton Créer un travail ou accédez à un travail existant et ajoutez une nouvelle tâche.

  2. S’il s’agit d’un nouveau travail, remplacez Ajouter un nom pour votre travail par le nom de votre travail.

  3. Dans le champ Nom de la tâche, entrez un nom pour la tâche.

  4. Dans le menu déroulant Type, sélectionnez Script Python.

  5. Dans le menu déroulant Source, sélectionnez Fournisseur Git, puis cliquez sur Modifier ou Ajouter une référence Git. La boîte de dialogue Informations Git s’affiche.

  6. Dans la boîte de dialogue Informations Git, entrez les détails du dépôt, notamment l’URL du dépôt, le fournisseur Git et la référence Git. Cette référence Git peut être une branche, une étiquette ou un commit.

    Pour Chemin d’accès, entrez un chemin d’accès relatif à l’emplacement de la source, par exemple etl/python/python_etl.py.

    Lorsque vous entrez le chemin d’accès relatif, ne commencez pas par / ou ./. Par exemple, si le chemin d’accès absolu du code Python auquel vous souhaitez accéder est /python/covid_eda_raw.py, entrez python/covid_eda_raw.py dans le champ Chemin d’accès.

  7. Cliquez sur Créer.

Lorsque vous affichez l’historique d’exécution d’une tâche qui exécute du code Python stocké dans un référentiel Git distant, le panneau Détails d’exécution de la tâche inclut les détails Git, y compris le SHA de commit associé à l’exécution.

Utiliser des requêtes SQL à partir d’un référentiel Git distant

Remarque

Une seule instruction SQL est prise en charge dans un fichier. Plusieurs instructions SQL séparées par des points-virgules (;) ne sont pas autorisées.

Pour exécuter des requêtes stockées dans des fichiers .sql situés dans un référentiel Git distant :

  1. Cliquez sur Icône TravauxWorkflows dans la barre latérale et cliquez sur le bouton Créer un travail ou accédez à un travail existant et ajoutez une nouvelle tâche.

  2. S’il s’agit d’un nouveau travail, remplacez Ajouter un nom pour votre travail par le nom de votre travail.

  3. Dans le champ Nom de la tâche, entrez un nom pour la tâche.

  4. Dans le menu déroulant Type, sélectionnez SQL.

  5. Dans le menu déroulant Tâche SQL, sélectionnez Fichier.

  6. Dans le menu déroulant Source, sélectionnez Fournisseur Git, puis cliquez sur Modifier ou Ajouter une référence Git. La boîte de dialogue Informations Git s’affiche.

  7. Dans la boîte de dialogue Informations Git, entrez les détails du dépôt, notamment l’URL du dépôt, le fournisseur Git et la référence Git. Cette référence Git peut être une branche, une étiquette ou un commit.

    Pour Chemin d’accès, entrez un chemin d’accès relatif à l’emplacement de la source, par exemple queries/sql/myquery.sql.

    Lorsque vous entrez le chemin d’accès relatif, ne commencez pas par / ou ./. Par exemple, si le chemin d’accès absolu de la requête SQL à laquelle vous souhaitez accéder est /sql/myqeury.sql, entrez sql/myquery.sql dans le champ Chemin d’accès.

  8. Sélectionnez un entrepôt SQL. Vous devez sélectionner un entrepôt SQL serverless ou un entrepôt SQL professionnel.

  9. Cliquez sur Créer.

Ajout de tâches supplémentaires à partir d’un référentiel Git distant

Les tâches supplémentaires au sein d’un travail multitâche référencent la même validation dans le référentiel distant de l’une des façons suivantes :

  • sha de $branch/head quand git_branch est défini
  • sha de $tag quand git_tag est défini
  • la valeur de git_commit

Vous pouvez combiner des tâches notebook et Python dans un travail Azure Databricks, mais elles doivent utiliser la même référence Git.

Utiliser un dossier Git Databricks

Si vous préférez utiliser l’interface utilisateur Azure Databricks pour la gestion de version de votre code source, clonez votre référentiel dans un dossier Git Databricks. Pour plus d’informations, consultez Option 2 : Configurer un dossier Git de production et l’automatisation Git.

Pour ajouter un notebook ou du code Python à partir d’un dossier Git dans une tâche de travail, dans le menu déroulant Source, sélectionnez Espace de travail, puis entrez le chemin d’accès du notebook ou du code Python dans Chemin d’accès.

Accéder aux notebooks à partir d’un IDE

Si vous devez accéder aux notebooks à partir d’un environnement de développement intégré, vérifiez que le commentaire # Databricks notebook source figure en haut du fichier de code source du notebook. Pour faire la distinction entre un fichier Python standard et un notebook en langage Python Azure Databricks exporté au format de code source, Databricks ajoute la ligne # Databricks notebook source en haut du fichier de code source du notebook. Lorsque vous importez le notebook, Azure Databricks le reconnaît et l’importe en tant que notebook, pas en tant que module Python.

Résolution des problèmes

Remarque

Les travaux Git ne prennent pas en charge l’accès en écriture aux fichiers d’espace de travail. Pour écrire des données dans un emplacement de stockage temporaire, utilisez le stockage du pilote. Pour écrire des données persistantes à partir d’un travail Git, utilisez un volume UC ou DBFS.

Message d’erreur :

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

Causes possibles :

Le commentaire # Databricks notebook source ne figure pas en haut du fichier de code source de votre notebook ou, dans le commentaire, notebook est en majuscules alors qu’il doit commencer par un n minuscule.