Partager via


Calcul serverless pour les notebooks

Important

Cette fonctionnalité est disponible en préversion publique. Pour plus d’informations sur l’éligibilité et l’activation, consultez Activer un calcul serverless.

Cet article explique comment utiliser le calcul serverless pour les notebooks. Pour plus d’informations sur l’utilisation du calcul serverless dans le cadre des workflows, consultez Exécuter votre travail Azure Databricks avec un calcul serverless pour les flux de travail.

Pour plus d’informations, consultez les tarifs de Databricks.

Spécifications

  • Vous devez activer votre espace de travail pour Unity Catalog.

  • Votre espace de travail doit se trouver dans une région prise en charge. Voir les régions Azure Databricks.

  • Votre compte doit être activé pour le calcul serverless. Voir Activer le calcul serverless.

Attacher un notebook à un calcul serverless

Si votre espace de travail est configuré pour prendre en charge le calcul serverless interactif, toutes les personnes qui l’utilisent ont accès au calcul serverless pour les notebooks. Aucune autorisation supplémentaire n’est nécessaire.

Pour effectuer un attachement au calcul serverless, cliquez sur le menu déroulant Se connecter dans le notebook, puis sélectionnez Serverless. Pour les nouveaux notebooks, le calcul attaché passe automatiquement par défaut au mode serverless au moment de l’exécution du code, si aucune autre ressource n’a été sélectionnée.

Installer les dépendances de notebook

Vous pouvez installer des dépendances Python pour les notebooks serverless à l’aide du panneau latéral Environment, qui fournit un emplacement unique pour modifier, afficher et exporter les exigences de bibliothèque pour un notebook. Ces dépendances peuvent être ajoutées à l’aide d’un environnement de base ou individuellement.

Panneau d’environnement serverless

Configurer un environnement de base

Un environnement de base est un fichier YAML stocké en tant que fichier d’espace de travail ou sur un volume Unity Catalog qui spécifie des dépendances d’environnement supplémentaires. Les environnements de base peuvent être partagés entre les notebooks. Pour configurer un environnement de base :

  1. Créez un fichier YAML qui définit les paramètres d’un environnement virtuel Python. L’exemple YAML suivant, basé sur la spécification de l’environnement des projets MLflow, définit un environnement de base avec quelques dépendances de bibliothèque :

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - cowsay==6.1
    
  2. Chargez le fichier YAML en tant que fichier d’espace de travail ou sur un volume Unity Catalog. Consultez Importer un fichier ou Charger des fichiers sur un volume Unity Catalog.

  3. À droite du notebook, cliquez sur le bouton Environnement pour développer le panneau Environment. Ce bouton s’affiche uniquement lorsqu’un notebook est connecté au calcul serverless.

  4. Dans le champ Base Environment, entrez le chemin d’accès au fichier YAML chargé, ou accédez-y et sélectionnez-le.

  5. Cliquez sur Appliquer. Cela installe les dépendances dans l’environnement virtuel du notebook et redémarre le processus Python.

Les utilisateurs peuvent remplacer les dépendances spécifiées dans l’environnement de base en installant des dépendances individuellement.

Ajouter des dépendances individuellement

Vous pouvez également installer des dépendances sur un notebook connecté à un calcul serverless à l’aide de l’onglet Dependencies du panneau Environment :

  1. À droite du notebook, cliquez sur le bouton Environnement pour développer le panneau Environment. Ce bouton s’affiche uniquement lorsqu’un notebook est connecté au calcul serverless.
  2. Dans la section Dependencies, cliquez sur Add Dependency et entrez le chemin d’accès à la dépendance de bibliothèque dans le champ. Vous pouvez spécifier une dépendance dans n’importe quel format valide dans un fichier requirements.txt.
  3. Cliquez sur Appliquer. Cela installe les dépendances dans l’environnement virtuel du notebook et redémarre le processus Python.

Remarque

Un travail utilisant le calcul serverless installe la spécification d’environnement du notebook avant d’exécuter le code du notebook. Cela signifie qu’il n’est pas nécessaire d’ajouter des dépendances lors de la planification des notebooks en tant que travaux. Voir Configurer des environnements et des dépendances de notebook.

Afficher les dépendances installées et les journaux pip

Pour afficher les dépendances installées, cliquez sur Installed dans le panneau latéral Environments d’un notebook. Les journaux d’installation pip pour l’environnement de notebook sont également disponibles en cliquant sur Pip logs en bas du panneau.

Réinitialiser l’environnement

Si votre notebook est connecté à un calcul serverless, Databricks met automatiquement en cache le contenu de l’environnement virtuel du notebook. Cela signifie que vous n’avez généralement pas besoin de réinstaller les dépendances Python spécifiées dans le panneau Environment lorsque vous ouvrez un notebook existant, même s’il a été déconnecté pour cause d’inactivité.

La mise en cache de l’environnement virtuel Python s’applique également aux travaux. Cela signifie que les exécutions suivantes de travaux sont plus rapides, car les dépendances requises sont déjà disponibles.

Remarque

Si vous modifiez l’implémentation d’un package Python personnalisé utilisé dans un travail serverless, vous devez également mettre à jour son numéro de version pour que les travaux récupèrent la dernière implémentation.

Pour effacer le cache de l’environnement et effectuer une nouvelle installation des dépendances spécifiées dans le panneau Environment d’un notebook attaché au calcul serverless, cliquez sur la flèche en regard de Apply, puis cliquez sur Reset environment.

Remarque

Réinitialisez l’environnement virtuel si vous installez des packages qui arrêtent ou modifient le notebook principal ou l’environnement Apache Spark. Le fait de détacher le notebook du calcul serverless et de le rattacher n’efface pas nécessairement l’ensemble du cache de l’environnement.

Voir les insights de requête

Le calcul serverless pour les notebooks et les workflows utilise des insights de requête pour évaluer les performances d’exécution de Spark. Après avoir exécuté une cellule dans un notebook, vous pouvez voir les insights liés aux requêtes SQL et Python en cliquant sur le lien Voir les performances.

Afficher les performances des requêtes

Vous pouvez cliquer sur l’une des instructions Spark pour voir les métriques de requête. Vous pouvez ensuite cliquer sur Voir le profil de requête pour visualiser l’exécution de la requête. Pour plus d’informations sur les profils de requête, consultez Profil de requête.

Remarque

Pour afficher les insights sur les performances de vos exécutions de travail, consultez Afficher les insights de requête d’exécution de travail.

Historique des requêtes

Toutes les requêtes exécutées dans le cadre du calcul serverless sont également enregistrées dans la page d’historique des requêtes de votre espace de travail. Pour plus d’informations sur l’historique des requêtes, consultez Historique des requêtes.

Limitations des insights de requête

  • Le profil de requête est disponible uniquement à la fin de l’exécution de la requête.
  • Les métriques sont mises à jour en temps réel, même si le profil de requête ne s’affiche pas durant l’exécution.
  • Seuls les états de requête suivants sont couverts : RUNNING, CANCELED, FAILED, FINISHED.
  • Les requêtes en cours d’exécution ne peuvent pas être annulées à partir de la page d’historique des requêtes. Elles peuvent être annulées dans les notebooks ou les travaux.
  • Les métriques détaillées ne sont pas disponibles.
  • Le téléchargement du profil de requête n’est pas disponible.
  • L’accès à l’IU de Spark n’est pas disponible.
  • Le texte de l’instruction contient uniquement la dernière ligne exécutée. Toutefois, plusieurs lignes précédant cette ligne ont peut-être été exécutées dans le cadre de la même instruction.

Limites

Pour obtenir la liste des limitations, consultez Limitations du calcul serverless.