Share via


Exécuter votre travail Azure Databricks avec un calcul serverless pour les flux de travail

Important

Le calcul serverless pour les flux de travail est disponible en préversion publique. Pour plus d’informations sur l’éligibilité et l’activation, consultez Activer le calcul serverless en préversion publique.

Important

Étant donné que la préversion publique du calcul serverless pour les flux de travail ne prend pas en charge le contrôle du trafic de sortie, vos travaux ont un accès complet à Internet.

Le calcul serverless pour les flux de travail vous permet d’exécuter votre travail Azure Databricks sans configurer et déployer l’infrastructure. Avec le calcul serverless, vous vous concentrez sur l’implémentation de vos pipelines de traitement et d’analyse des données, et Azure Databricks gère efficacement les ressources de calcul, notamment l’optimisation et la mise à l’échelle du calcul pour vos charges de travail. La mise à l’échelle automatique et Photon sont automatiquement activés pour les ressources de calcul qui exécutent votre travail.

L’optimisation automatique du calcul serverless pour les flux de travail optimise automatiquement le calcul en sélectionnant les ressources appropriées telles que les types d’instances, la mémoire et les moteurs de traitement en fonction de votre charge de travail. L’optimisation automatique retente également automatiquement les travaux ayant échoué.

Databricks met automatiquement à niveau la version de Databricks Runtime pour prendre en charge les améliorations et les mises à niveau de la plateforme tout en garantissant la stabilité de vos travaux Azure Databricks. Pour afficher la version actuelle de Databricks Runtime utilisée par le calcul serverless pour les flux de travail, consultez les Notes de publication du calcul serverless.

Étant donné que l’autorisation de création de cluster n’est pas nécessaire, tous les utilisateurs de l’espace de travail peuvent utiliser le calcul serverless pour exécuter leurs flux de travail.

Cet article décrit l’utilisation de l’interface utilisateur Travaux Azure Databricks pour créer et exécuter des travaux qui utilisent le calcul serverless. Vous pouvez également automatiser la création et l’exécution de travaux qui utilisent le calcul serverless avec l’API Travaux, les Packs de ressources Databricks et le Kit de développement logiciel (SDK) Databricks pour Python.

Spécifications

  • Unity Catalog doit être activé sur votre espace de travail Azure Databricks.
  • Étant donné que le calcul serverless pour les flux de travail utilise le mode d’accès partagé, vos charges de travail doivent prendre en charge ce mode d’accès.
  • Votre espace de travail Azure Databricks doit se trouver dans une région prise en charge. Voir les régions Azure Databricks.

Créer un travail à l’aide du calcul serverless

Le calcul serverless est pris en charge avec les types de tâches notebook, script Python, dbt et roue Python. Par défaut, le calcul serverless est sélectionné comme type de calcul lorsque vous créez un travail et ajoutez l’un des types de tâches pris en charge.

Créer une tâche serverless

Databricks recommande d’utiliser le calcul serverless pour toutes les tâches de travail. Vous pouvez également spécifier différents types de calcul pour les tâches d’un travail, ce qui peut être nécessaire si un type de tâche n’est pas pris en charge par le calcul serverless pour les flux de travail.

Configurer un travail existant pour utiliser le calcul serverless

Vous pouvez modifier un travail existant pour utiliser le calcul serverless pour les types de tâches pris en charge lorsque vous modifiez le travail. Pour basculer vers le calcul serverless, effectuez l’une des opérations suivantes :

  • Dans le volet latéral Détails du travail, cliquez sur Changer sous Calcul, puis Nouveau, entrez ou mettez à jour les paramètres, puis cliquez sur Mettre à jour.
  • Cliquez sur Caret vers le bas dans le menu déroulant Calcul et sélectionnez Serverless.

Basculer la tâche vers le calcul serverless

Planifier un notebook à l’aide d’un calcul serverless

Outre l’utilisation de l’interface utilisateur Travaux pour créer et planifier un travail à l’aide du calcul serverless, vous pouvez créer et exécuter un travail qui utilise le calcul serverless directement à partir d’un notebook Databricks. Consultez Créer et gérer des tâches de notebooks planifiées.

Définir les paramètres de configuration Spark

Vous pouvez définir les paramètres de configuration Spark suivants, mais uniquement au niveau de la session, en les définissant dans un notebook qui fait partie du travail. Consultez Obtenir et définir les propriétés de configuration Spark dans un notebook.

  • spark.sql.legacy.timeParserPolicy
  • spark.sql.session.timeZone
  • spark.sql.shuffle.partitions

Configurer des environnements et des dépendances de notebook

Pour gérer les dépendances de bibliothèque et la configuration de l’environnement pour une tâche de notebook, ajoutez la configuration à une cellule du notebook. L’exemple suivant installe des bibliothèques Python avec pip install à partir de fichiers d’espace de travail et avec un fichier requirements.txt et définit une variable de session spark.sql.session.timeZone :

%pip install -r ./requirements.txt
%pip install simplejson
%pip install /Volumes/my/python.whl
%pip install /Workspace/my/python.whl
%pip install https://some-distro.net/popular.whl
spark.conf.set('spark.sql.session.timeZone', 'Europe/Amsterdam')

Pour définir le même environnement sur plusieurs notebooks, vous pouvez utiliser un seul notebook pour configurer l’environnement, puis utiliser la commande %run magic pour exécuter ce notebook à partir de n’importe quel notebook nécessitant la configuration de l’environnement. Consultez Utiliser %run pour importer un notebook.

Configurer des environnements et des dépendances pour les tâches non-notebook

Pour d’autres types de tâches pris en charge, tels que le script Python, la roue Python ou les tâches dbt, un environnement par défaut inclut les bibliothèques Python installées. Pour afficher la liste des bibliothèques installées, consultez la section Bibliothèques Python installées dans les notes de publication de la version de Databricks Runtime sur laquelle votre déploiement du calcul serverless pour les flux de travail est basé. Pour afficher la version actuelle de Databricks Runtime utilisée par le calcul serverless pour les flux de travail, consultez les Notes de publication du calcul serverless. Vous pouvez également installer des bibliothèques Python si une tâche nécessite une bibliothèque qui n’est pas installée. vous pouvez installer des bibliothèques Python à partir de fichiers d’espace de travail, de volumes Unity Catalog ou de référentiels de packages publics. Pour ajouter une bibliothèque lorsque vous créez ou modifiez une tâche :

  1. Dans le menu déroulant Environnement et bibliothèques, cliquez sur Icône Modifier en regard de l’environnement par défaut ou cliquez sur + Ajouter un nouvel environnement.

    Modifier l’environnement par défaut

  2. Dans la boîte de dialogue Configurer l’environnement, cliquez sur + Ajouter une bibliothèque.

  3. Sélectionnez le type de dépendance dans le menu déroulant sous Bibliothèques.

  4. Dans la zone de texte Chemin d’accès au fichier, entrez le chemin d’accès à la bibliothèque.

  • Pour une roue Python dans un fichier d’espace de travail, le chemin d’accès doit être absolu et commencer par /Workspace/.

  • Pour une roue Python dans un volume Unity Catalog, le chemin d’accès doit être /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Pour un fichier requirements.txt, sélectionnez PyPi et entrez -r /path/to/requirements.txt.

    Ajouter des bibliothèques de tâches

  1. Cliquez sur Confirmer ou + Ajouter une bibliothèque pour ajouter une autre bibliothèque.
  2. Si vous ajoutez une tâche, cliquez sur Créer une tâche. Si vous modifiez une tâche, cliquez sur Enregistrer la tâche.

Configurer l’optimisation automatique du calcul serverless pour interdire les nouvelles tentatives

L’optimisation automatique du calcul serverless pour les flux de travail optimise automatiquement le calcul utilisé pour exécuter vos travaux et réessaye les travaux ayant échoué. L’optimisation automatique est activée par défaut et Databricks recommande de la laisser activée pour garantir que les charges de travail critiques s’exécutent correctement au moins une fois. Toutefois, si vous avez des charges de travail qui doivent être exécutées au maximum une fois, par exemple des travaux qui ne sont pas idempotents, vous pouvez désactiver l’optimisation automatique lors de l’ajout ou de la modification d’une tâche :

  1. En regard de Nouvelles tentatives, cliquez sur Ajouter (ou Icône Modifier si une stratégie de nouvelle tentative existe déjà).
  2. Dans la boîte de dialogue Stratégie de nouvelles tentatives, décochez Activer l’optimisation automatique serverless (peut inclure des nouvelles tentatives supplémentaires).
  3. Cliquez sur Confirmer.
  4. Si vous ajoutez une tâche, cliquez sur Créer une tâche. Si vous modifiez une tâche, cliquez sur Enregistrer la tâche.

Surveiller le coût des travaux qui utilisent le calcul serverless pour les flux de travail

Vous pouvez surveiller le coût des travaux qui utilisent le calcul serverless pour les flux de travail en interrogeant le tableau système d’utilisation facturable. Ce tableau est mis à jour pour inclure des attributs utilisateur et de charge de travail sur les coûts serverless. Consultez la Référence de table système d’utilisation facturable.

Afficher les détails de vos requêtes Spark

Le calcul serverless pour les flux de travail a une nouvelle interface permettant d’afficher des informations détaillées sur le runtime pour vos instructions Spark, telles que les métriques et les plans de requête. Pour afficher les insights de requête pour les instructions Spark incluses dans votre exécution de travaux sur le calcul serverless :

  1. Cliquez sur Icône de flux de travailWorkflows dans la barre latérale.
  2. Dans la colonne Nom, cliquez sur le nom du travail pour lequel vous souhaitez afficher les insights.
  3. Cliquez sur l’exécution spécifique pour laquelle vous souhaitez afficher les insights.
  4. Dans la section Calcul du panneau latéral Exécution de la tâche, cliquez sur Historique des requêtes.
  5. Vous êtes redirigé vers l’Historique des requêtes, préfiltré sur l’ID d’exécution de la tâche dans laquelle vous étiez.

Pour plus d’informations sur l’utilisation de l’historique des requêtes, consultez Historique des requêtes.

Limites

Pour obtenir la liste des limitations de calcul serverless pour les flux de travail, consultez Limitations de calcul serverless dans les notes de publication du calcul serverless.