Aller au contenu principal

Référence de configuration de compute

remarque

L'organisation de cet article suppose que vous utilisez l'interface utilisateur de compute du formulaire simple. Pour un aperçu des mises à jour du formulaire simple, consultez Utiliser le formulaire simple pour gérer les compute.

Cet article explique les paramètres de configuration disponibles lors de la création d'une ressource de compute polyvalente ou de Job. La plupart des utilisateurs créent des ressources de compute à l'aide de leurs politiques attribuées, ce qui limite les paramètres configurables. Si vous ne voyez pas un paramètre particulier dans votre interface utilisateur, c'est parce que la politique que vous avez sélectionnée ne vous permet pas de configurer ce paramètre.

Pour des recommandations sur la configuration du compute pour votre charge de travail, consultez les bonnes pratiques de configuration du compute classique.

Formulaire de compute simple

Les configurations et les outils de gestion décrits dans cet article s'appliquent à la fois au compute multifonction et au compute des Job. Pour plus de considérations sur la configuration du compute des Jobs, consultez Configurer le compute pour les Jobs.

Créer une nouvelle ressource compute à usage général

Pour créer une nouvelle ressource de compute à usage général :

  1. Dans la barre latérale du Workspace, cliquez sur Compute .
  2. Cliquez sur le bouton **Create compute**.
  3. Configurez la ressource de compute.
  4. Cliquez sur Créer .

Votre nouvelle Ressource compute commencera automatiquement à start et sera bientôt prête à l'emploi.

Politique de compute

Les politiques sont un ensemble de règles utilisées pour limiter les options de configuration disponibles pour les utilisateurs lorsqu'ils créent des ressources de compute. Si un utilisateur ne dispose pas du droit Création de cluster sans restriction , il ne peut créer des ressources de compute qu'en utilisant les politiques qui lui ont été attribuées.

Pour créer des ressources de compute selon une politique, sélectionnez une politique dans le menu déroulant Politique .

Par default, tous les utilisateurs ont accès à la politique Personal compute , ce qui leur permet de créer des ressources compute sur une seule machine. Si vous avez besoin d'accéder à Calcul personnel ou à d'autres politiques, contactez l'administrateur de votre workspace.

Paramètres de performance

Les paramètres suivants apparaissent sous la section Performance de l'interface utilisateur de compute simple :

Versions de Databricks Runtime

Databricks Runtime est l'ensemble des composants principaux qui s'exécutent sur votre compute. Sélectionnez l'exécution à l'aide du menu déroulant Databricks Runtime Version . Pour plus de détails sur les versions spécifiques de Databricks Runtime, consultez les notes de publication et la compatibilité de Databricks Runtime. Toutes les versions incluent Apache Spark. Databricks recommande ce qui suit :

  • Pour le compute à usage général, utilisez la version la plus récente pour vous assurer 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 les compute de Job 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 vous permettra d'éviter les problèmes de compatibilité et de tester en profondeur votre charge de travail avant la mise à niveau.
  • Pour les cas d'utilisation de Data Science et de Machine Learning, envisagez la version Databricks Runtime ML.

Utiliser l'accélération de Photon

Photon est activé par default sur le compute exécutant Databricks Runtime 9.1 LTS et les 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 ?.

Type de nœud Worker

Une ressource de compute se compose d'un nœud driver et de zéro ou plusieurs nœuds worker. Vous pouvez choisir des types d'instances de fournisseur cloud distincts pour les nœuds driver et worker, bien que par default le nœud driver utilise le même type d'instance que le nœud worker. Le paramètre de nœud du driver se trouve sous la section Performances avancées .

Différentes familles de types d'instances conviennent à différents cas d'utilisation, tels que les charges de travail gourmandes en mémoire ou en compute. Vous pouvez également sélectionner un pool à utiliser comme nœud worker ou driver.

important

N'utilisez pas de pool avec des instances spot comme type de driver. Sélectionnez un type de driver à la demande pour éviter que votre driver ne soit récupéré. Voir Se connecter aux pools.

Dans le compute multi-nœuds, les nœuds Worker exécutent les exécuteurs Spark et d'autres services nécessaires au bon fonctionnement d'une ressource de compute. Lorsque vous distribuez votre charge de travail avec Spark, tout le traitement distribué s'effectue sur les nœuds Worker. Databricks exécute un exécuteur par nœud worker. Par conséquent, les termes exécuteur et nœud worker sont utilisés de manière interchangeable dans le contexte de l’architecture Databricks.

astuce

Pour exécuter un Job Spark, vous avez besoin d'au moins un nœud Worker. Si la ressource compute ne compte aucun Worker, vous pouvez exécuter des commandes non-Spark sur le nœud Driver, mais les commandes Spark échoueront.

Types de nœuds flexibles

Si votre Workspace dispose de types de nœuds flexibles activés, vous pouvez utiliser des types de nœuds flexibles pour votre ressource de compute. Les types de nœuds flexibles permettent à votre ressource compute de revenir à des types d'instances alternatifs et compatibles lorsque le type d'instance spécifié n'est pas disponible. Ce comportement améliore la fiabilité du lancement des computes en réduisant les défaillances de capacité pendant les lancements de computes. Voir Améliorer la fiabilité du lancement des computes à l’aide de types de nœuds flexibles.

Adresses IP des nœuds worker

Databricks lance des nœuds Worker avec deux adresses IP privées chacun. L'adresse IP privée principale du nœud héberge le trafic interne de Databricks. L'adresse IP privée secondaire est utilisée par le conteneur Spark pour la communication intra-cluster. Ce modèle permet à Databricks d'assurer l'isolation entre plusieurs ressources de compute dans le même workspace.

Types d'instances GPU

Pour les tâches exigeantes en termes de calcul qui exigent de hautes performances, comme celles associées au deep learning, Databricks prend en charge les ressources de compute qui sont accélérées par des unités de traitement graphique (GPU). Pour plus d'informations, voir compute compatible GPU.

Databricks ne prend plus en charge le lancement de compute à l'aide d'instances Amazon EC2 P2.

Types d'instances AWS Graviton

Databricks prend en charge les instances AWS Graviton. Ces instances exploitent les processeurs Graviton conçus par AWS sur la base du jeu d'instructions Arm64. Selon AWS, les types d'instance dotés de ces processeurs affichent le meilleur rapport performance / prix de tous les types d'instance sur Amazon EC2. Pour utiliser les types d'instances Graviton, sélectionnez l'un des types d'instances AWS Graviton disponibles pour le **type de Worker**, le **type de Driver** ou les deux.

Databricks prend en charge le compute compatible AWS Graviton :

  • Sur Databricks Runtime 9.1 LTS et versions supérieures pour les versions sansPhoton, et Databricks Runtime 10.2 et versions supérieures pour Photon.
  • À partir de Databricks Runtime 15.4 LTS pour le machine learning et versions supérieures.
  • Dans toutes les régions AWS. Notez, cependant, que tous les types d'instances ne sont pas disponibles dans toutes les régions. Si vous sélectionnez un type d'instance qui n'est pas disponible dans la région pour un workspace, la création du compute échoue.
  • Pour les processeurs AWS Graviton2 et Graviton3.

Limitations ARM64 ISA

  • Changements de précision à virgule flottante : les opérations typiques comme l’addition, la soustraction, la multiplication et la division n’ont aucun changement de précision. Pour les fonctions à triangle unique telles que sin et cos, la limite supérieure de la différence de précision par rapport aux instances Intel est de 1.11e-16.
  • Support tiers : le changement d'ISA peut avoir un impact sur le support des outils et bibliothèques tiers.
  • Compute à instances mixtes : Databricks ne prend pas en charge le mélange des types d’instances AWS Graviton et non-AWS Graviton, car chaque type nécessite un Databricks Runtime différent.

Limitations de Graviton

Les fonctionnalités suivantes ne prennent pas en charge les types d'instances AWS Graviton :

  • Python UDFs (les UDF Python sont disponibles sur Databricks Runtime 15,2 et versions supérieures)
  • Databricks Container Services
  • Databricks SQL
  • Databricks sur AWS GovCloud
  • Accès aux fichiers du workspace, y compris ceux des dossiers Git, à partir des terminaux Web

Types d'instances AWS Fleet

remarque

Si votre Workspace a été créé avant mai 2023, les autorisations de son rôle IAM pourraient devoir être mises à jour pour autoriser l’accès aux types d’instances Fleet. Pour plus d’information, consultez Activer les types d’instances Fleet.

Un type d'instance de flotte est un type d'instance variable qui se résout automatiquement en le meilleur type d'instance disponible de la même taille.

Par exemple, si vous sélectionnez le type d’instance de flotte m-fleet.xlarge, votre nœud se résoudra au type d’instance .xlarge, à usage général, qui offre la meilleure capacité et le meilleur prix Spot à ce moment-là. Le type d'instance vers lequel votre ressource de compute se résout aura toujours la même mémoire et le même nombre de cœurs que le type d'instance de flotte que vous avez choisi.

Les types d'instances de flotte utilisent l'API Spot Placement Score d'AWS (Spot Placement Score API) pour choisir la zone de disponibilité la plus performante et la plus susceptible de réussir pour votre ressource de compute au Startup.

Pour la liste complète des types d'instances de flotte et des familles d'instances AWS qui les prennent en charge, consultez la référence des types d'instances de flotte.

Limitations de la flotte

  • Si vous mettez à jour le pourcentage d'enchère de l'instance spot à l'aide de l'API ou du JSON, cela n'a aucun effet lorsque le type de nœud worker est défini sur un type d'instance de flotte. C'est parce qu'il n'existe pas d'instance à la demande unique à utiliser comme point de référence pour le prix spot.
  • Les instances Fleet ne prennent pas en charge les instances GPU.
  • Un faible pourcentage d’anciens Workspace ne prend pas encore en charge les types d’instance de flotte. Si tel est le cas pour votre workspace, vous verrez une erreur l'indiquant lorsque vous tenterez de créer un compute ou un pool d'instances à l'aide d'un type d'instance de flotte. Nous travaillons à apporter le support à ces workspaces restants.

Compute à nœud unique

La case à cocher Nœud unique vous permet de créer une ressource de compute à nœud unique.

Le compute à nœud unique est destiné aux Jobs qui utilisent de petites quantités de données ou des charges de travail non distribuées telles que des bibliothèques de machine learning à nœud unique. Le compute multi-nœuds doit être utilisé pour les Jobs plus importants avec des charges de travail distribuées.

Propriétés du nœud unique

Une ressource de compute à nœud unique possède les propriétés suivantes :

  • Spark s'exécute localement.
  • Le Driver agit à la fois comme maître et worker, sans nœud worker.
  • Génère un thread d'exécuteur par cœur logique dans la ressource de compute, moins 1 cœur pour le Driver.
  • Enregistre toutes les sorties de log stderr, stdout et log4j dans les logs du driver.
  • Impossible de convertir en ressource de compute multi-nœuds.

Sélection de nœud unique ou multiple

Considérez votre cas d'utilisation lorsque vous choisissez entre un compute à nœud unique ou à nœuds multiples :

  • Le traitement de données à grande échelle épuisera les ressources d'une ressource de compute à nœud unique. Pour ces charges de travail, Databricks recommande d'utiliser le compute multi-nœuds.

  • Une ressource de compute multi-nœuds ne peut pas être mise à l'échelle à 0 worker. Utilisez plutôt un compute à nœud unique.

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

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

    Console
    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 :

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

Activer la mise à l'échelle automatique

Lorsque Activer la mise à l'échelle automatique est cochée, vous pouvez spécifier un nombre minimal et maximal de Worker pour la ressource de compute. Databricks choisit ensuite le nombre de Worker approprié requis pour exécuter votre Job.

Pour définir le nombre minimum et maximum de workers entre lesquels votre ressource de compute s'adaptera automatiquement, utilisez les champs Min et Max à côté du menu déroulant Worker type .

Si vous n'activez pas la mise à l'échelle automatique, vous devez saisir un nombre fixe de workers dans le champ Workers , à côté du menu déroulant Worker type .

remarque

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

Avantages de la mise à l'échelle automatique

Avec l'autoscaling, Databricks réalloue dynamiquement les workers pour tenir compte des caractéristiques de votre job. Certaines parties de votre pipeline peuvent être plus exigeantes en calcul que d'autres, et Databricks ajoute automatiquement des Workers supplémentaires pendant ces phases de votre Job (et les supprime lorsqu'ils ne sont plus nécessaires).

L'autoscaling facilite l'obtention d'une utilisation élevée, car vous n'avez pas besoin de provisionner le compute pour qu'il corresponde à une charge de travail. Cela s'applique particulièrement aux charges de travail dont les exigences changent au fil du temps (comme l'exploration d'un dataset au cours d'une journée), mais cela peut également s'appliquer à une charge de travail ponctuelle plus courte dont les exigences de provisionnement sont inconnues. Le dimensionnement automatique offre ainsi deux avantages :

  • Les charges de travail peuvent s'exécuter plus rapidement comparativement à une ressource de compute de taille constante sous-provisionnée.
  • L'autoscaling peut réduire les coûts globaux par rapport à une ressource de compute de taille statique.

Selon la taille constante de la ressource de compute et de la charge de travail, la mise à l'échelle automatique vous offre l'un ou l'autre de ces avantages en même temps. La taille du compute peut descendre en dessous du nombre minimal de Worker sélectionnés lorsque le fournisseur cloud met fin aux instances. Dans ce cas, Databricks tente continuellement de re-provisionner des instances afin de maintenir le nombre minimum de Workers.

remarque

L'autoscaling n'est pas disponible pour les spark-submit Jobs.

remarque

La mise à l’échelle automatique de compute présente des limites pour réduire la taille du cluster pour les charges de travail Structured Streaming. Databricks recommande d'utiliser Spark Declarative Pipelines sur Lakeflow avec une mise à l'échelle automatique améliorée pour les charges de travail de streaming. Voir Optimiser l’utilisation des clusters de LakeFlow Pipelines avec l’autoscaling.

Comment le dimensionnement automatique se comporte

Les Workspace avec le forfait Premium ou supérieur utilisent l'autoscaling optimisé. Les Workspaces avec le plan de tarification standard utilisent l’autoscaling standard.

L’autoscaling optimisé présente les caractéristiques suivantes :

  • Évolue du minimum au maximum en 2 événements de mise à l'échelle au maximum.
  • Il peut réduire ses ressources, même si la ressource de compute n'est pas inactive, en examinant l'état des fichiers de brassage.
  • Se réduit en fonction d'un pourcentage de nœuds actuels.
  • Sur le compute de Job, la ressource de compute se réduit si elle est sous-utilisée au cours des 40 dernières secondes.
  • Sur le Calcul multifonction, réduit sa taille si la ressource compute est sous-utilisée au cours des 150 dernières secondes.
  • La propriété de configuration Spark spark.databricks.aggressiveWindowDownS spécifie en secondes la fréquence à laquelle le compute prend des décisions de réduction d’échelle. L’augmentation de la valeur entraîne une réduction plus lente du compute. La valeur maximale est de 600.

Le dimensionnement automatique standard est utilisé dans les Workspace avec un forfait standard. Le dimensionnement automatique standard présente les caractéristiques suivantes :

  • Il commence par ajouter 8 nœuds. Ensuite, il monte en charge de manière exponentielle, en effectuant autant d'étapes que nécessaire pour atteindre le maximum.
  • Réduction de taille lorsque 90 % des nœuds ne sont pas occupés pendant 10 minutes et que le compute est inactif pendant au moins 30 secondes.
  • Réduit de façon exponentielle, à partir d'1 nœud.
attention

N'activez pas l'allocation dynamique Apache Spark (spark.dynamicAllocation.enabled) sur les ressources de compute qui utilisent le dimensionnement automatique de Databricks. Le dimensionnement automatique de Databricks gère les nœuds worker et le cycle de vie des exécuteurs au niveau de la plateforme. L'activation de l'allocation dynamique de Spark en parallèle peut entraîner des décisions de dimensionnement conflictuelles, ce qui peut entraîner un renouvellement fréquent des exécuteurs, des erreurs NODES_LOST et des tâches jamais prises en charge.

Dimensionnement automatique avec des Pools

Si vous associez votre ressource de compute à un pool, veuillez prendre en compte les éléments suivants :

  • Assurez-vous que la taille de compute demandée est inférieure ou égale au nombre minimal d'instances inactives dans le pool. S'il est plus grand, le temps de Startup du compute sera équivalent à un compute qui n'utilise pas de Pool.

  • Assurez-vous que la taille maximale du compute est inférieure ou égale à la capacité maximale du pool. Si elle est plus grande, la création du compute échouera.

Exemple de dimensionnement automatique

Si vous reconfigurez une ressource de compute statique pour la mise à l’échelle automatique, Databricks redimensionne immédiatement la ressource de compute dans les limites minimale et maximale, puis start la mise à l’échelle automatique. À titre d’exemple, le tableau suivant montre ce qui se produit pour une ressource de compute d’une certaine taille initiale si vous la reconfigurez pour une mise à l’échelle automatique entre 5 et 10 nœuds.

Taille initiale

Taille après reconfiguration

6

6

12

10

3

5

Taille initiale

Taille après reconfiguration

6

6

12

10

3

5

Paramètres de performances avancées

Le paramètre suivant apparaît sous la section Performances avancées dans l’interface utilisateur de compute du formulaire simple.

Instances ponctuelles

Vous pouvez spécifier s'il faut utiliser des instances spot en cochant la case Utiliser l'instance spot sous Performances avancées . Consulter les Tarifs Spot d'AWS.

La première instance sera toujours à la demande (le nœud Driver est toujours à la demande) et les instances suivantes seront des instances Spot.

Arrêt automatique

Vous pouvez définir l'arrêt automatique pour le compute dans la section Performances du formulaire de création de compute. Lors de la création de compute, spécifiez une période d’inactivité en minutes après laquelle la ressource de compute doit être arrêtée.

Si la différence entre l'heure actuelle et la dernière commande exécutée sur la ressource de compute est supérieure à la période d'inactivité spécifiée, Databricks met fin automatiquement à cette ressource de compute. Pour plus d'information sur la résiliation de compute, voir Mettre fin à un compute.

Type de Driver

Vous pouvez sélectionner le type de Driver dans la section Performances avancées . Le nœud Driver gère les information d'état de tous les Notebook attachés à la ressource compute. Le nœud Driver gère également le SparkContext, interprète toutes les commandes que vous exécutez à partir d'un Notebook ou d'une bibliothèque sur la ressource compute, et exécute le maître Apache Spark qui se coordonne avec les exécuteurs Spark.

La valeur par default du type de nœud Driver est la même que celle du type de nœud Worker. Vous pouvez choisir un type de nœud Driver plus grand avec plus de mémoire si vous prévoyez de collect() de nombreuses données depuis les Worker Spark et de les analyser dans le Notebook.

astuce

Étant donné que le nœud driver maintient toutes les informations d'état des Notebooks attachés, assurez-vous de détacher les Notebooks inutilisés du nœud driver.

Tags

Les tags vous permettent de surveiller facilement le coût des ressources de compute utilisées par les différents groupes de votre organisation. Spécifiez les tags sous forme de paires clé-valeur lorsque vous créez un compute, et Databricks applique ces tags aux ressources cloud comme les VM et les volumes de disque, ainsi qu'aux logs d'utilisation de Databricks.

Pour le compute lancé à partir de pools, les tags personnalisés sont uniquement appliqués aux rapports d'utilisation des DBU et ne se propagent pas aux ressources cloud.

Pour des informations détaillées sur la façon dont les types de tags de pool et de compute fonctionnent ensemble, consultez Utiliser des tags pour attribuer et suivre l'utilisation.

Pour ajouter des tags à votre ressource de compute :

  1. Dans la section Tags , ajoutez une paire clé-valeur pour chaque tag personnalisé.
  2. Cliquez sur **Ajouter**.

Paramètres avancés

Les paramètres suivants apparaissent sous la section **Avancé** de l'interface utilisateur de compute de formulaire simple :

Modes d'accès

Le mode d'accès est une fonctionnalité de sécurité qui détermine qui peut utiliser la ressource de compute et les données auxquelles ils peuvent accéder en utilisant la ressource de compute. Chaque ressource de compute dans Databricks a un mode d'accès. Les paramètres du mode d'accès se trouvent sous la section **Avancé** de l'interface utilisateur de compute de formulaire simple.

La sélection du mode d'accès est **Auto** by default, ce qui signifie que le mode d'accès est automatiquement choisi pour vous en fonction de votre Databricks Runtime sélectionné. Auto correspond par défaut à **Standard**, sauf si un runtime de Machine Learning, un type d'instance GPU ou un Databricks Runtime inférieur à 14.3 est sélectionné, auquel cas **Dedicated** est utilisé.

Databricks recommande d'utiliser le mode d'accès standard, sauf si la fonctionnalité requise n'est pas prise en charge.

Mode d'accès

Description

Langues prises en charge

Standard

Peut être utilisé par plusieurs utilisateurs avec une isolation des données entre les utilisateurs.

Python, SQL, Scala

Dédié

Peut être attribué à et utilisé par un utilisateur unique ou un groupe.

Python, SQL, Scala, R

Mode d'accès

Description

Langues prises en charge

Standard

Peut être utilisé par plusieurs utilisateurs avec une isolation des données entre les utilisateurs.

Python, SQL, Scala

Dédié

Peut être attribué à et utilisé par un utilisateur unique ou un groupe.

Python, SQL, Scala, R

Pour des informations détaillées sur la prise en charge des fonctionnalités pour chacun de ces modes d’accès, consultez Exigences et limitations du compute standard et Exigences et limitations du compute dédié.

remarque

Dans Databricks Runtime 13.3 LTS et versions ultérieures, les scripts d'initialisation et les bibliothèques sont pris en charge par tous les modes d'accès. Les exigences et les niveaux de support varient. Voir Où les scripts d'initialisation peuvent-ils être installés ? et les bibliothèques Compute-scoped.

Profils d'instance

remarque

Databricks recommande d’utiliser les emplacements externes du Unity Catalog pour se connecter à S3 au lieu des profils d’instance. Unity Catalog simplifie la sécurité et la gouvernance de vos données en fournissant un emplacement centralisé pour administrer et auditer l’accès aux données à travers plusieurs Workspace de votre compte. Consultez Connectez-vous au stockage d'objets cloud à l'aide de Unity Catalog.

Pour accéder en toute sécurité aux Ressources AWS sans utiliser de clés AWS, vous pouvez lancer le compute Databricks avec des profils d'instance. Reportez-vous à Tutoriel : Configurer l'accès S3 avec un profil d'instance pour savoir comment créer et configurer des profils d'instance. Une fois que vous avez créé un profil d'instance, vous le sélectionnez dans la liste déroulante Profil d'instance .

Après avoir lancé votre ressource de compute, vérifiez que vous pouvez accéder au compartiment S3 à l'aide de la commande suivante. Si la commande réussit, cette ressource de compute peut accéder au compartiment S3.

Python
 dbutils.fs.ls("s3a://<s3-bucket-name>/")
attention

Une fois qu'une ressource de compute est lancée avec un profil d'instance, toute personne ayant les autorisations d'attachement à cette ressource de compute peut accéder aux ressources sous-jacentes contrôlées par ce rôle. Pour se prémunir contre tout accès non autorisé, utilisez les autorisations de compute afin de restreindre les autorisations à la ressource de compute.

Zones de disponibilité

Pour trouver le paramètre de la zone de disponibilité, ouvrez la section **Avancé** et cliquez sur le **tab** Instances. Ce paramètre vous permet de spécifier la zone de disponibilité (AZ) que vous souhaitez que la ressource de compute utilise. Par default, ce paramètre est défini sur auto , où la zone de disponibilité (AZ) est automatiquement sélectionnée en fonction des adresses IP disponibles dans les sous-réseaux du Workspace. Auto-AZ réessaie dans d'autres zones de disponibilité si AWS renvoie des erreurs de capacité insuffisante.

Auto-AZ fonctionne uniquement au Startup du compute. Après le lancement de la ressource de compute, tous les nœuds restent dans la zone de disponibilité d'origine jusqu'à ce que la ressource de compute soit terminée ou redémarrée.

Le choix d'une zone de disponibilité spécifique pour la ressource de compute est principalement utile si votre organisation a acheté des instances réservées dans des zones de disponibilité spécifiques. En savoir plus sur les zones de disponibilité AWS dans la documentation AWS.

remarque

**HA** (zone de haute disponibilité) est un paramètre AZ obsolète. HA se résout en **auto** en arrière-plan.

Blocs de capacité AWS

Les Blocs de capacité AWS vous permettent de réserver la capacité de compute pour une durée spécifique dans une zone de disponibilité spécifique. Pour utiliser des Capacity Blocks avec le compute Databricks, configurez votre ressource de compute avec une étiquette et une zone de disponibilité spécifiques.

  1. Achetez un bloc de capacité sur votre portail AWS. Pour plus de détails, consultez la documentation AWS sur l'achat d'un bloc de capacité.

    1. Assurez-vous que le nombre total d'instances est suffisant pour votre utilisation prévue.
    2. Notez la zone de disponibilité qu'AWS attribue à votre réservation de blocs de capacité.
    3. Vérifiez que votre workspace dispose d'un sous-réseau dans la même zone de disponibilité que le bloc de capacité.
    4. Copiez l'ID du bloc de capacité d'AWS pour l'utiliser dans la configuration Databricks.
  2. Lorsque l'heure d'activation de la réservation de bloc de capacité arrive, créez une ressource compute Databricks avec les paramètres suivants :

    1. Ajoutez un tag avec les éléments suivants :

      • Clé : X-Databricks-AwsCapacityBlockId
      • Valeur : votre ID de bloc de capacité d'AWS Configurez tous les nœuds pour utiliser des instances à la demande :
    2. Sous Performances avancées , décochez la case Utiliser les instances spot .

    3. Sous Avancé > Instances , sélectionnez la zone de disponibilité spécifique assignée à votre Capacity Block.

  3. Complétez votre configuration de compute et cliquez sur Créer .

remarque

Les blocs de capacité doivent être actifs avant que vous puissiez lancer des Ressources de compute en les utilisant. Veuillez vérifier l'heure d'activation de votre réservation de bloc de capacité sur le portail AWS.

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

Pour configurer Activer le dimensionnement automatique du stockage local , ouvrez la section Avancé et cliquez sur le tab Instances.

Si vous ne souhaitez pas allouer un nombre fixe de volumes EBS au moment de la création du compute, utilisez le dimensionnement automatique du stockage local. Avec le dimensionnement automatique du stockage local, Databricks surveille la quantité d'espace disque disponible sur les workers Spark de votre compute. Si un Worker commence à manquer d'espace disque, Databricks attache automatiquement un nouveau volume EBS au Worker avant qu'il ne soit à court d'espace disque. Les volumes EBS sont attachés jusqu'à une limite de 5 To d'espace disque total par instance (y compris le stockage local de l'instance).

Les volumes EBS attachés à une instance ne sont détachés que lorsque l'instance est renvoyée à AWS. Autrement dit, les volumes EBS ne sont jamais détachés d’une instance tant qu’elle fait partie d’un compute en cours d’exécution. Pour réduire l'utilisation d'EBS, Databricks recommande d'utiliser cette fonctionnalité dans le compute configuré avec la mise à l'échelle automatique du compute ou la terminaison automatique.

remarque

Databricks utilise les volumes Amazon EBS GP3 pour étendre le stockage local d'une instance. La default AWS capacité limite pour ces volumes est de 50 TiB. Pour éviter d'atteindre cette limite, les administrateurs doivent demander une augmentation de cette limite en fonction de leurs besoins d'utilisation.

Volumes EBS

Cette section décrit les paramètres default des volumes EBS pour les nœuds Worker, comment ajouter des volumes de shuffle, et comment configurer le compute afin que Databricks alloue automatiquement des volumes EBS.

Pour configurer les volumes EBS, votre compute ne doit pas être activé pour le stockage local à mise à l'échelle automatique. Cliquez sur l'onglet Instances sous Avancé dans la configuration du compute et sélectionnez une option dans la liste déroulante Type de volume EBS .

default EBS volumes

Databricks provisionne des volumes EBS pour chaque nœud worker comme suit :

  • Un volume racine EBS chiffré de 30 Go utilisé par le système d'exploitation hôte et les services internes de Databricks.
  • Un volume racine de conteneur EBS chiffré de 150 Go utilisé par le Worker Spark. Ceci héberge les services Spark et les Logs.
  • (HIPAA uniquement) un volume de Logs Worker EBS chiffré de 75 Go qui stocke les Logs des services internes de Databricks.

Ajouter des volumes de brassage EBS

Pour ajouter des volumes de shuffle, sélectionnez SSD à usage général dans la liste déroulante Type de volume EBS .

By default, les sorties de shuffle Spark vont sur le disque local de l'instance. Pour les types d'instance qui n'ont pas de disque local, ou si vous souhaitez augmenter votre espace de stockage de shuffle Spark, vous pouvez spécifier des volumes EBS supplémentaires. Ceci est particulièrement utile pour éviter les erreurs de manque d'espace disque lorsque vous exécutez des Jobs Spark qui produisent de grandes sorties de shuffle.

Databricks chiffre ces volumes EBS pour les instances à la demande et les instances Spot. En savoir plus sur les volumes AWS EBS.

Chiffrez éventuellement les volumes EBS de Databricks avec une clé gérée par le client

En option, vous pouvez chiffrer les volumes EBS de compute avec une clé gérée par le client.

Consultez les clés gérées par le client pour le chiffrement.

Limites AWS EBS

Assurez-vous que vos limites AWS EBS sont suffisamment élevées pour satisfaire les exigences d'exécution pour tous les Workers dans tous vos compute déployés. Pour des informations sur les limites EBS par default et comment les modifier, consultez Amazon Elastic Block Store (EBS) Limits.

Type de volume SSD AWS EBS

Sélectionnez gp2 ou gp3 pour le type de volume SSD AWS EBS. Pour ce faire, consultez Gérer le stockage SSD. Databricks vous recommande de passer à gp3 pour ses économies par rapport à gp2.

remarque

Par default, la configuration Databricks définit les IOPS du volume gp3 et le throughput des IOPS pour qu'ils correspondent à la performance maximale d'un volume gp2 de même taille.

Pour des informations techniques sur gp2 et gp3, consultez les types de volume Amazon EBS.

Chiffrement de disque local

info

Aperçu

Cette fonctionnalité est en aperçu public.

Certains types d'instances que vous utilisez pour exécuter le compute peuvent avoir des disques attachés localement. Databricks peut stocker les données de shuffle ou les données éphémères sur ces disques attachés localement. Pour garantir que toutes les données au repos sont chiffrées pour tous les types de stockage, y compris les données de brassage stockées temporairement sur les disques locaux de votre compute, vous pouvez activer le chiffrement des disques locaux.

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 depuis les volumes locaux.

Lorsque le chiffrement du disque local est activé, Databricks génère une clé de chiffrement localement qui est propre à chaque nœud de compute et est utilisée pour chiffrer toutes les données stockées sur les disques locaux. La portée de la clé est locale à chaque nœud de compute et est détruite avec le nœud de compute lui-même. Pendant sa durée de vie, la clé réside en mémoire pour le chiffrement et le déchiffrement et est stockée chiffrée sur le disque.

Pour activer le chiffrement du disque local, vous devez utiliser l'API Clusters. Lors de la création ou de la modification de compute, définissez enable_local_disk_encryption sur true.

Configuration Spark

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

remarque

Dans le mode d'accès standard sur Databricks Runtime 19 et versions ultérieures, certaines propriétés de configuration Spark sont restreintes. La création ou la modification d'un cluster qui définit une propriété restreinte échoue avec une erreur. Consultez les limitations de configuration Spark.

  1. Sur la page de configuration du compute, cliquez sur le bouton bascule Avancé .

  2. Cliquez sur l'onglet Spark .

    Configuration Spark

  3. Dans **Configuration Spark**, saisissez les propriétés de configuration sous la forme d'une paire clé-valeur par ligne.

Lorsque vous configurez le compute à 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 les configurations Spark sur le compute, les administrateurs de Workspace peuvent utiliser les politiques de compute.

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

Databricks recommande de stocker les informations sensibles, telles que les mots de passe, dans un secret au lieu du texte en clair. Pour référencer un secret dans la configuration Spark, utilisez la syntaxe suivante :

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

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

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

Pour plus d'informations, consultez Gérer les secrets.

Livraison des log compute

Lorsque vous créez du compute polyvalent ou des jobs, vous pouvez spécifier un emplacement pour les logs de cluster, y compris les logs du driver Spark, des nœuds worker et des événements. Les Logs sont livrés toutes les cinq minutes et archivés toutes les heures dans la destination sélectionnée. Databricks continue de livrer les Logs jusqu'à ce que la ressource de compute soit terminée.

Vous pouvez stocker les Logs dans l'un des emplacements suivants :

  • Volumes (recommandé) : stocke les journaux dans un chemin de volume Unity Catalog. C’est l’option recommandée et la plus sécurisée lors de l’utilisation des ressources compute compatibles avec Unity Catalog.

  • S3 : stocke les logs dans un chemin d’accès de compartiment Amazon S3.

  • DBFS (hérité) : stocke les logs dans le chemin du système de fichiers Databricks (DBFS). Cette option n'est disponible que si la racine et les montages DBFS ne sont pas désactivés pour l'Workspace. Consultez Désactiver l'accès à la racine et aux montages DBFS dans votre Workspace Databricks existant.

Pour configurer l'emplacement de livraison des log :

  1. Sur la page du compute, cliquez sur le bouton bascule Avancé .
  2. Cliquez sur l'onglet tab .
  3. Sélectionnez un type de destination.
  4. Saisissez le Chemin d'accès du Log .

Pour stocker les logs, Databricks crée un sous-dossier dans le chemin d'accès aux logs que vous avez choisi, nommé d'après le cluster_id du compute.

Par exemple, si le chemin d'accès aux Logs spécifié est /Volumes/catalog/schema/volume, les Logs de 06308418893214 sont fournis à /Volumes/catalog/schema/volume/06308418893214.

remarque

La livraison des Logs vers un volume n'est prise en charge que sur le compute compatible Unity Catalog avec le mode d'accès Standard ou le mode d'accès Dédié attribué à un utilisateur. Ce n'est pas pris en charge avec le mode d'accès Dédié attribué à un groupe. Si vous sélectionnez un volume comme chemin d'accès, vérifiez que le propriétaire du compute ou l'utilisateur qui lui est attribué dispose des autorisations READ VOLUME et WRITE VOLUME sur le volume. Voir les privilèges pour les volumes Unity Catalog.

Destinations du compartiment S3

Si vous choisissez une destination S3, vous devez configurer la ressource de compute avec un profil d'instance qui peut accéder au bucket. Ce profil d'instance doit avoir les autorisations PutObject et PutObjectAcl. Un exemple de profil d'instance a été inclus pour votre commodité. Reportez-vous au Tutoriel : Configurer l'accès S3 avec un profil d'instance pour obtenir des instructions sur la configuration d'un profil d'instance.

JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::<my-s3-bucket>"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:DeleteObject"],
"Resource": ["arn:aws:s3:::<my-s3-bucket>/*"]
}
]
}

Variables d'environnement

Configurez des variables d'environnement personnalisées auxquelles vous pouvez accéder à partir des scripts d'initialisation exécutés sur la ressource compute. Databricks fournit également des variables d'environnement prédéfinies que vous pouvez utiliser dans les scripts d'initialisation. Vous ne pouvez pas remplacer ces variables d'environnement prédéfinies.

remarque

En mode d'accès standard sur Databricks Runtime 19 et versions ultérieures, seul un ensemble prédéfini de variables d'environnement est disponible pour le moteur Spark et les scripts d'initialisation. Les autres variables que vous définissez sur un cluster restent disponibles pour votre code utilisateur, y compris les UDF. Voir les Limitations des variables d'environnement.

  1. Sur la page de configuration du compute, cliquez sur Avancé .

  2. Cliquez sur l'onglet Spark .

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

    Champ Variables d&#39;environnement

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