Informations de référence sur la configuration du calcul

Cet article explique tous les paramètres de configuration disponibles dans l’interface utilisateur Créer un calcul. La plupart des utilisateurs créent un calcul à l’aide de leurs stratégies attribuées, ce qui limite les paramètres pouvant être configurés. Si un paramètre spécifique n’apparaît pas dans votre interface utilisateur, cela est dû au fait que la stratégie que vous avez sélectionnée ne vous permet pas de le configurer.

Les configurations et outils de gestion décrits dans cet article s’appliquent aussi bien au calcul à usage général qu’au calcul de travaux. Pour d’autres considérations relatives à la configuration d’un calcul de travaux, consultez Utiliser le calcul Azure Databricks avec vos travaux.

Stratégies

Les stratégies sont un ensemble de règles qui permettent de limiter les options de configuration à disposition des utilisateurs lorsqu’ils créent un calcul. Si un utilisateur ne dispose pas du droit de création de cluster sans restriction, il peut uniquement créer un calcul en utilisant les stratégies qui lui sont accordées.

Pour créer un calcul en fonction d’une stratégie, sélectionnez une stratégie dans le menu déroulant Stratégie.

Par défaut, tous les utilisateurs ont accès à la stratégie de calcul personnel, ce qui leur permet de créer des ressources de calcul sur une seule machine. Si vous avez besoin d’accéder à Personal Compute ou à des stratégies supplémentaires, contactez l’administrateur de votre espace de travail.

Calcul à nœud unique ou à nœuds multiples

Selon la stratégie, vous pouvez choisir de créer un calcul mononœud ou multinœud.

Le calcul mononœud est destiné aux travaux qui utilisent de petites quantités de données ou des charges de travail non distribuées, telles que les bibliothèques de Machine Learning mononœuds. Le calcul multinœud doit être utilisé pour les travaux plus importants avec des charges de travail distribuées.

Propriétés du nœud unique

Un calcul mononœud a les propriétés suivantes :

  • Il exécute Spark localement.
  • Le pilote agit à la fois comme maître et worker, sans nœud worker.
  • Il génère un thread d’exécuteur par cœur logique dans le calcul, moins un cœur pour le pilote.
  • Enregistre toutes les sorties de journaux stderr, stdoutet log4j dans le journal du pilote.
  • Ne peut pas être converti en calcul multinœud.

Choisir entre nœud unique et nœuds multiples

Pour choisir entre un calcul à nœud unique et à plusieurs nœuds, tenez compte de votre cas d’usage :

  • Le traitement de données à grande échelle épuise les ressources sur un calcul à nœud unique. Pour ces charges de travail, Databricks recommande d’utiliser un calcul multinœud.

  • Un calcul à nœud unique n’est pas conçu pour être partagé. Pour éviter les conflits de ressources, Databricks recommande d’utiliser un calcul multinœud si le calcul doit être partagé.

  • Un calcul à plusieurs nœuds ne peut pas être mis à l’échelle à 0 (zéro) Worker. Utilisez plutôt un calcul à nœud unique.

  • Un calcul à nœud unique n’est pas compatible avec l’isolation des processus.

  • La planification GPU n’est pas activée sur les calculs à nœud unique.

  • Sur un calcul à nœud unique, Spark ne peut pas lire les fichiers Parquet avec une colonne UDT. Le message d’erreur suivant s’affiche :

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    Pour contourner ce problème, désactivez le lecteur Parquet natif :

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

Modes d’accès

Le mode d’accès est une fonctionnalité de sécurité qui détermine qui peut utiliser le calcul et les données accessibles via le calcul. Chaque calcul dans Azure Databricks a un mode d’accès.

Databricks vous recommande d’utiliser le mode d’accès partagé pour toutes les charges de travail. Utilisez uniquement le mode d’accès utilisateur unique si vos fonctionnalités requises ne sont pas prises en charge par le mode d’accès partagé.

Mode d’accès Visible par l'utilisateur Prise en charge d’UC Langues prises en charge Notes
Utilisateur unique Toujours Oui Python, SQL, Scala, R Peut être attribué à et utilisé par un seul utilisateur. Appelé mode d’accès Affecté dans certains espaces de travail.
Partagé Toujours (Plan Premium requis) Oui Python (sur Databricks Runtime 11.3 LTS et versions ultérieures), SQL, Scala (sur un calcul avec Unity Catalog utilisant Databricks Runtime 13.3 LTS et versions ultérieures) Peut être utilisé par plusieurs utilisateurs avec l’isolation des données entre les utilisateurs.
Aucune isolation partagée Les administrateurs peuvent masquer ce mode d’accès en appliquant l’isolation d’utilisateur dans la page des paramètres d’administration. Non Python, SQL, Scala, R Il existe un paramètre associé au niveau du compte pour le calcul partagé sans isolation.
Personnalisée Masqué (pour tous les nouveaux calculs) Non Python, SQL, Scala, R Cette option s’affiche uniquement si vous disposez d’un calcul existant dont le mode d’accès n’a pas été spécifié.

Vous pouvez mettre à niveau un calcul existant pour qu’il réponde aux exigences de Unity Catalog en définissant son mode d’accès sur Utilisateur unique ou Partagé.

Remarque

Dans Databricks Runtime 13.3 LTS et versions ultérieures, les bibliothèques et scripts d’initialisation sont pris en charge sur tous les modes d’accès. Les exigences et la prise en charge varient. Consultez Où peuvent être installés les scripts d’initialisation ? et Bibliothèques à l’échelle du cluster.

Versions de Databricks Runtime

Databricks Runtime constitue l’ensemble des composants de base qui s’exécutent sur votre calcul. Sélectionnez le runtime à l’aide du menu déroulant Version de Databricks Runtime. Pour des informations détaillées sur les versions spécifiques de Databricks Runtime, consultez Notes de publication sur les versions et la compatibilité de Databricks Runtime. Toutes les versions incluent Apache Spark. Databricks recommande les éléments suivants :

  • Pour les calculs à usage général, l’utilisation de la version la plus récente vous permet de bénéficier des dernières optimisations et de la compatibilité la plus à jour entre votre code et les packages préchargés.
  • Pour un calcul de travaux exécutant des charges de travail opérationnelles, envisagez d’utiliser la version LTS (Long Term Support) de Databricks Runtime. L’utilisation de la version LTS permet de s’assurer que vous ne rencontrez pas de problèmes de compatibilité et que vous pouvez tester minutieusement votre charge de travail avant la mise à niveau.
  • Pour les cas d’usage dans les domaines de la science des données et du Machine Learning, considérez la version ML de Databricks Runtime.

Utiliser l’accélération Photon

Photon est activé par défaut sur les calculs exécutant Databricks Runtime 9.1 LTS et versions ultérieures.

Pour activer ou désactiver l’accélération Photon, cochez la case Utiliser l’accélération Photon. Pour en savoir plus sur Photon, consultez Qu’est-ce que Photon ?.

Nœuds de Type de Worker et de Type de Pilote

Un calcul se compose d’un nœud de pilote et de zéro ou plusieurs nœuds Worker. Vous pouvez choisir des types d’instances de fournisseur de Cloud distincts pour les nœuds de pilote et de travail, bien que le nœud de pilote utilise par défaut le même type d’instance que le nœud Worker. Différentes familles de types d'instances correspondent à différents cas d'utilisation, tels que les charges de travail à forte intensité de mémoire ou de calcul.

Vous pouvez également sélectionner un pool à utiliser comme nœud worker ou pilote. Consultez Présentation des pools Azure Databricks.

Type de Worker

Dans un calcul multinœud, les nœuds Worker exécutent les exécuteurs Spark et d’autres services requis pour le bon fonctionnement du calcul. Lorsque vous distribuez votre charge de travail avec Spark, tout le traitement distribué se produit sur les nœuds Worker. Azure Databricks exécute un exécuteur par nœud Worker. Par conséquent, les termes exécuteur et Worker sont utilisés de manière interchangeable dans le contexte de l’architecture Azure Databricks.

Conseil

Pour exécuter un travail Spark, vous avez besoin d’au moins un nœud Worker. Si le calcul ne possède aucun Worker, vous pouvez exécuter des commandes non-Spark sur le nœud de pilote, mais les commandes Spark échouent.

Adresses IP du nœud Worker

Azure Databricks lance des nœuds Worker avec deux adresses IP privées chacune. L’adresse IP privée principale du nœud héberge le trafic interne Azure Databricks. L’adresse IP privée secondaire est utilisée par le conteneur Spark pour la communication intra-cluster. Ce modèle permet à Azure Databricks de fournir une isolation entre plusieurs calculs dans le même espace de travail.

Type de Pilote

Le nœud de pilote conserve les informations d’état de tous les notebooks attachés au calcul. Le nœud de pilote gère également le SparkContext, interprète toutes les commandes que vous exécutez à partir d’un notebook ou d’une bibliothèque sur le calcul et exécute le maître Apache Spark qui se coordonne avec les exécuteurs Spark.

La valeur par défaut du type de nœud du pilote est identique à celle du type de nœud Worker. Vous pouvez choisir un plus grand type de nœud de pilote avec davantage de mémoire si vous envisagez collect() de nombreuses données des Workers Spark et de les analyser dans le bloc-notes.

Conseil

Étant donné que le nœud pilote conserve toutes les informations d’état des blocs-notes attachés, veillez à détacher les blocs-notes inutilisés du nœud pilote.

Types d’instances GPU

Pour les tâches nécessitant de nombreuses ressources de calcul qui exigent des performances élevées, comme celles associées au Deep Learning, Azure Databricks prend en charge le calcul accéléré avec des processeurs graphiques (GPU). Pour plus d’informations, consultez Calcul avec GPU.

Machines virtuelles de calcul confidentiel Azure

Les types de machines virtuelles d’informatique confidentielle Azure empêchent l’accès non autorisé aux données pendant leur utilisation, y compris à partir de l’opérateur cloud. Ce type de machine virtuelle est bénéfique pour les secteurs et les régions hautement réglementés, ainsi que pour les entreprises disposant de données sensibles dans le cloud. Pour obtenir davantage d’informations sur l’informatique confidentielle d’Azure, consultez Azure Confidential Computing.

Pour exécuter vos charges de travail à l’aide de machines virtuelles d’informatique confidentielle Azure, sélectionnez parmi les types de machines virtuelles de la série DC ou EC dans les listes déroulantes des nœuds Worker et Pilote. Consultez Options de la machine virtuelle Azure Confidential.

Instances spot

Pour réduire les coûts, vous pouvez choisir d’utiliser des instances de points, également appelées machines virtuelles Azure, en cochant la case instances de points .

Configurer Spot

La première instance est toujours à la demande (le nœud de pilote est toujours à la demande) et les instances suivantes sont des instances de place.

Si des instances sont évincées en raison d’une indisponibilité, Azure Databricks tente d’acquérir de nouvelles instances spot pour remplacer les instances évincées. Si des instances spot ne peuvent pas être acquises, des instances à la demande sont déployées pour remplacer les instances évincées. De plus, lorsque de nouveaux nœuds sont ajoutés au calcul existant, Azure Databricks tente d’acquérir des instances spot pour ces nœuds.

Activer la mise à l’échelle automatique

Lorsque l’option Activer la mise à l’échelle automatique est cochée, vous pouvez fournir un nombre minimal et un nombre maximal de Workers pour le calcul. Ensuite, Databricks détermine le nombre approprié de Workers nécessaires pour exécuter votre travail.

Pour définir le nombre minimal et le nombre maximal de Workers délimitant la mise à l’échelle automatique de votre calcul, utilisez les champs Nombre maximal de Workers et Nombre maximal de Workers en regard de la liste déroulante Type de Worker.

Si vous n’activez pas la mise à l’échelle automatique, vous entrez un nombre fixe de Workers dans le champ Workers en regard de la liste déroulante Type de Worker .

Remarque

Lorsque le calcul est en cours d’exécution, la page de détails du calcul affiche le nombre de Workers alloués. Vous pouvez comparer le nombre de Workers alloués à la configuration du Worker et effectuer les ajustements nécessaires.

Avantages de la mise à l’échelle automatique

Avec la mise à l'échelle automatique, Azure Databricks réaffecte dynamiquement les workers pour tenir compte des caractéristiques de votre travail. Certaines parties de votre pipeline peuvent être plus exigeantes en termes de calcul que d’autres, et Databricks ajoute automatiquement des Workers supplémentaires pendant ces phases de votre travail (et les supprime lorsqu’ils ne sont plus nécessaires).

La mise à l’échelle automatique facilite une utilisation élevée, car vous n’avez pas besoin d’approvisionner le calcul pour correspondre à une charge de travail. Cela s’applique en particulier aux charges de travail dont les exigences changent au fil du temps (comme l’exploration d’un jeu de données au cours d’une journée), mais elle peut également s’appliquer à une charge de travail unique plus rapide dont les exigences de provisionnement sont inconnues. La mise à l’échelle automatique offre donc deux avantages :

  • Les charges de travail peuvent s’exécuter plus rapidement qu’avec un calcul sous-approvisionné de taille constante.
  • La mise à l’échelle automatique peut réduire les coûts globaux par rapport à un calcul de taille statique.

En fonction de la taille constante du calcul et de la charge de travail, la mise à l’échelle automatique vous offre un de ces avantages ou les deux en même temps. La taille de calcul peut être inférieure au nombre minimal de Workers sélectionnés lorsque le fournisseur de cloud termine les instances. Dans ce cas, Azure Databricks tente continuellement de réapprovisionner les instances afin de conserver le nombre minimal de threads de travail.

Notes

La mise à l’échelle automatique n’est pas disponible pour les travaux spark-submit.

Notes

La mise à l’échelle automatique du calcul présente des limitations pour la réduction de la taille du cluster pour les charges de travail Structured Streaming. Databricks recommande d’utiliser Delta Live Tables avec mise à l’échelle automatique améliorée pour les charges de travail de diffusion en continu. Consultez Optimiser l’utilisation des clusters des pipelines Delta Live Tables avec la mise à l’échelle automatique améliorée.

Comportement de la mise à l'échelle automatique

L’espace de travail dans les plans tarifaires Premium et Enterprise utilise la mise à l’échelle automatique optimisée. Les espaces de travail dans le plan tarifaire Standard utilisent la mise à l’échelle automatique standard.

La mise à l’échelle automatique optimisée présente les caractéristiques suivantes :

  • La mise à l’échelle est comprise entre min et Max en 2 étapes.
  • Peut effectuer un scale-down, même si le calcul n’est pas inactif, en examinant l’état de lecture aléatoire des fichiers.
  • Met à l’échelle en fonction d’un pourcentage de nœuds actuels.
  • Sur le calcul de travaux, effectue un scale-down si le calcul est sous-utilisé au cours des 40 dernières secondes.
  • Sur le calcul à usage général, effectue un scale-down si le calcul est sous-utilisé au cours des 150 dernières secondes.
  • La propriété de configuration Sparkspark.databricks.aggressiveWindowDownS spécifie, en secondes, la fréquence à laquelle le calcul prend les décisions de scale-down. Si vous augmentez la valeur, le scale-down du calcul est plus lent. La valeur maximale est 600.

La mise à l’échelle automatique standard est utilisée dans les espaces de travail de plan Standard. La mise à l’échelle automatique standard présente les caractéristiques suivantes :

  • Commence par ajouter 8 nœuds. Ensuite, elle effectue un scale-up exponentiel, en effectuant autant d’étapes que nécessaire pour atteindre le maximum.
  • Effectue un scale-down lorsque 90 % des nœuds ne sont pas occupés pendant 10 minutes et que le calcul est inactif depuis au moins 30 secondes.
  • Met à l’échelle de façon exponentielle, à partir de 1 nœud.

Mise à l’échelle automatique avec des pools

Si vous attachez votre calcul à un pool, tenez compte des points suivants :

  • Assurez-vous que la taille de calcul demandée est inférieure ou égale au nombre minimal d’instances inactives dans le pool. Si elle est supérieure, le temps de démarrage d’un calcul équivaut à celui d’un calcul qui n’utilise pas de pool.
  • Assurez-vous que la taille de calcul maximale est inférieure ou égale à la capacité maximale du pool. Si elle est supérieure, la création du calcul échoue.

Exemple de mise à l’échelle automatique

Si vous reconfigurez un calcul statique pour la mise à l’échelle automatique, Azure Databricks redimensionne immédiatement le calcul dans les limites minimale et maximale, puis démarre la mise à l’échelle automatique. Par exemple, le tableau suivant montre ce qui arrive à un calcul avec une certaine taille initiale si vous le reconfigurez pour la mise à l’échelle automatique entre 5 et 10 nœuds.

Taille initiale Taille après reconfiguration
6 6
12 10
3 5

Activer la mise à l’échelle automatique du stockage local

Il est souvent difficile d'estimer l'espace disque que prendra une tâche particulière. Pour vous éviter d’avoir à estimer le nombre de gigaoctets de disque managé à attacher à votre calcul au moment de la création, Azure Databricks active automatiquement le stockage local à mise à l’échelle automatique sur tous les calculs Azure Databricks.

Grâce au stockage local à mise à l’échelle automatique, Azure Databricks surveille la quantité d’espace disque libre disponible sur les Workers Spark de votre calcul. Si un Worker commence à s’exécuter trop peu sur le disque, Databricks joint automatiquement un nouveau disque géré au Worker avant que l’espace disque soit insuffisant. Les disques sont attachés dans la limite de 5 To d’espace disque par machine virtuelle (y compris le stockage local initial de la machine virtuelle).

Les disques managés attachés à une machine virtuelle sont détachés uniquement quand la machine virtuelle est retournée à Azure. En d’autres termes, les disques managés ne sont jamais détachés d’une machine virtuelle tant qu’ils font partie d’un calcul en cours d’exécution. Pour effectuer un scale-down de l’utilisation des disques managés, Azure Databricks recommande de recourir à cette fonctionnalité dans un calcul configuré avec le calcul à mise à l’échelle automatique ou la terminaison automatique.

Chiffrement de disque local

Important

Cette fonctionnalité est disponible en préversion publique.

Certains types d’instances que vous utilisez pour exécuter des calculs peuvent avoir des disques attachés localement. Azure Databricks pouvez stocker des données de lecture aléatoire ou des données éphémères sur ces disques attachés localement. Pour vous assurer que toutes les données au repos sont chiffrées pour tous les types de stockage, y compris les données aléatoires stockées temporairement sur les disques locaux de votre calcul, vous pouvez activer le chiffrement de disque local.

Important

Vos charges de travail peuvent s’exécuter plus lentement en raison de l’impact sur les performances de la lecture et de l’écriture de données chiffrées vers et à partir des volumes locaux.

Lorsque le chiffrement de disque local est activé, Azure Databricks génère une clé de chiffrement au niveau local qui est propre à chaque nœud de calcul et qui sert à chiffrer toutes les données stockées sur les disques locaux. L’étendue de la clé est locale pour chaque nœud de calcul et est détruite en même temps que le nœud de calcul. Pendant sa durée de vie, la clé se trouve dans la mémoire pour le chiffrement et le déchiffrement et est stockée chiffrée sur le disque.

Pour activer le chiffrement de disque local, vous devez utiliser l’API Clusters. Pendant la création ou de la modification d’un calcul, définissez enable_local_disk_encryption sur true.

Arrêt automatique

Vous pouvez définir la terminaison automatique du calcul. Lors la création du calcul, spécifiez une période d’inactivité en minutes après laquelle vous voulez que le calcul se termine.

Si la différence entre l’heure actuelle et la dernière commande exécutée sur le calcul est supérieure à la période d’inactivité spécifiée, Azure Databricks termine automatiquement ce calcul. Pour plus d’informations sur la terminaison d’un calcul, consultez Terminer un calcul.

Balises

Les étiquettes vous permettent de monitorer facilement le coût des ressources cloud utilisées par différents groupes de votre organisation. Spécifiez des étiquettes sous forme de paires clé-valeur quand vous créez un calcul : Azure Databricks applique alors ces étiquettes aux ressources cloud, comme les machines virtuelles et les volumes de disque, ainsi qu’aux rapports d’utilisation des DBU.

Pour un calcul lancé à partir de pools, les étiquettes personnalisées sont appliquées uniquement aux rapports d’utilisation de DBU et ne se propagent pas aux ressources cloud.

Pour plus d’informations sur la manière dont les types d’étiquettes de pool et de calcul fonctionnent ensemble, consultez Superviser l’utilisation en utilisant des étiquettes.

Pour ajouter des étiquettes à votre calcul :

  1. Dans la section Étiquettes, ajoutez une paire clé-valeur pour chaque étiquette personnalisée.
  2. Cliquez sur Add.

Configuration Spark

Pour affiner les travaux Spark, vous pouvez fournir des propriétés de configuration Spark personnalisées.

  1. Dans la page de configuration du calcul, cliquez sur le bouton bascule Options avancées.

  2. Cliquez sur l’onglet Spark.

    Configuration Spark

    Dans la configuration Spark, entrez les propriétés de configuration sous la forme d’une paire clé-valeur par ligne.

Lorsque vous configurez un calcul à l’aide de l’API Clusters, définissez les propriétés Spark dans le champ spark_conf de l’API de création de cluster ou de l’API de mise à jour de cluster.

Pour appliquer des configurations Spark sur un calcul, les administrateurs d’espace de travail peuvent utiliser des stratégies de calcul.

Récupérer une propriété de configuration Spark à partir d’un secret

Databricks recommande de stocker des informations sensibles, telles que des mots de passe, dans un secret et non en texte clair. Pour référencer une clé secrète dans la configuration Spark, utilisez la syntaxe suivante :

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

Par exemple, pour définir une propriété de configuration Spark appelée password sur la valeur du secret stocké dans secrets/acme_app/password :

spark.password {{secrets/acme-app/password}}

Pour plus d’informations, consultez Syntaxe pour référencer des secrets dans une variable d’environnement ou une propriété de configuration Spark.

Accès SSH au calcul

Pour des raisons de sécurité, dans Azure Databricks le port SSH est fermé par défaut. Si vous souhaitez activer l’accès SSH à vos clusters Spark, consultez SSH to the driver node (Accès SSH au nœud de pilote).

Remarque

SSH ne peut être activé que si votre espace de travail est déployé dans votre propre réseau virtuel Azure.

Variables d’environnement

Configurez des variables d’environnement personnalisées auxquelles vous pouvez accéder depuis des scripts d’initialisation exécutés sur le calcul. Databricks fournit également des variables d’environnement prédéfinies que vous pouvez utiliser dans des scripts init. Vous ne pouvez pas remplacer ces variables d’environnement prédéfinies.

  1. Dans la page de configuration du calcul, cliquez sur le bouton bascule Options avancées.

  2. Cliquez sur l’onglet Spark .

  3. Définissez les variables d’environnement dans le champ variables d’environnement .

    Champ Variables d’environnement

Vous pouvez également définir des variables d’environnement à l’aide du champ spark_env_vars dans l’API de création de cluster ou l’API de mise à jour de cluster.

Remise des journaux de calcul

Quand vous créez un calcul, vous pouvez spécifier un emplacement où sont remis les journaux du nœud du pilote Spark, des nœuds Worker et des événements. Les journaux sont remis toutes les cinq minutes et archivés toutes les heures dans la destination que vous avez choisie. Quand un calcul est terminé, Azure Databricks garantit la remise de tous les journaux générés jusqu’à la terminaison du calcul.

La destination des journaux dépend du cluster_id du calcul. Si la destination spécifiée est dbfs:/cluster-log-delivery, les journaux de calcul pour 0630-191345-leap375 sont remis à dbfs:/cluster-log-delivery/0630-191345-leap375.

Pour configurer l’emplacement de remise des journaux :

  1. Dans la page du calcul, cliquez sur le bouton bascule Options avancées.
  2. Cliquez sur l'onglet Journalisation.
  3. Sélectionnez un type de destination.
  4. Entrez le chemin d’accès au journal de calcul.

Remarque

Cette fonctionnalité est également disponible dans l’API REST. Consultez l’API Clusters.