Référence de politique de compute
Cette page utilise des exemples JSON de définitions de politique. Vous pouvez définir une politique à l'aide de JSON, ou utiliser l'interface utilisateur de politique de compute pour configurer les définitions de politique à l'aide de menus déroulants et d'autres éléments d'interface utilisateur.
Cette page est une référence pour les définitions de politique de compute, y compris une liste des attributs de politique disponibles et des types de limitation. Il existe également des exemples de politiques auxquels vous pouvez vous référer pour les cas d'utilisation courants.
Que sont les définitions de politique ?
Les définitions de politique sont des règles de politique individuelles exprimées en JSON.
Une définition peut ajouter une règle à l'un des attributs contrôlés avec l'API Clusters. Par exemple, ces définitions définissent un temps d'autoterminaison default, interdisent aux utilisateurs d'utiliser des Pools et imposent l'utilisation de Photon :
{
"autotermination_minutes": {
"type": "unlimited",
"defaultValue": 4320,
"isOptional": true
},
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"runtime_engine": {
"type": "fixed",
"value": "PHOTON",
"hidden": true
}
}
Il ne peut y avoir qu'une seule limitation par attribut. Le chemin d'un attribut reflète le nom d'attribut de l'API. Pour les attributs imbriqués, le chemin concatène les noms d'attributs imbriqués en utilisant des points. Les attributs qui ne sont pas définis dans une définition de politique ne seront pas limités.
Configurer les définitions de politique à l'aide des éléments d'interface utilisateur
Le formulaire de politique vous permet de configurer des définitions de politique à l’aide de menus déroulants et d’autres éléments de l’interface utilisateur. Cela signifie que les administrateurs peuvent rédiger des politiques sans avoir à apprendre ou à se référer à la syntaxe de la politique.
Le formulaire prend également en charge la modification de la définition complète de la politique directement au format JSON. Pour modifier le JSON :
- Cliquez sur le bouton Modifier la définition en JSON dans la section Définition > Options avancées pour ouvrir un éditeur JSON.
- Cliquez sur l'onglet JSON pour afficher le JSON de définition. Depuis cette tab, vous pouvez également cliquer sur Modifier la définition en JSON pour ouvrir l'éditeur.
De plus, des règles JSON individuelles peuvent être ajoutées au champ **JSON personnalisé** sous **Options avancées**.

Limitations connues lors de l'utilisation du nouveau formulaire de politique
Si une politique n’est pas prise en charge par le nouveau formulaire de politique de compute, toutes les définitions incompatibles apparaîtront dans le champ JSON personnalisé de la section Options avancées . Pour les champs ci-dessous, seul un sous-ensemble de stratégies valides est pris en charge :
- workload_type : La politique doit définir
workload_type.clients.notebooksetworkload_type.clients.jobs. Chacune de ces règles doit être fixée àtrueoufalse. - dbus_per_hour : Seules les politiques de plage qui spécifient
maxValueet ne spécifient pasminValuesont prises en charge. - ssh_public_keys : Seules les politiques fixes sont prises en charge. Les politiques
ssh_public_keysne doivent ignorer aucun index. Par exemple,ssh_public_keys.0,ssh_public_keys.1,ssh_public_keys.2sont valides, maisssh_public_keys.0,ssh_public_keys.2,ssh_public_keys.3ne le sont pas. - cluster_log_conf : Le
cluster_log_conf.pathne peut pas être une liste d'autorisation ou une liste de blocage. - init_scripts : les politiques indexées (c'est-à-dire
init_scripts.0.volumes.destination) doivent être fixes. Les politiques avec caractères génériques (c'est-à-direinit_scripts.*.volumes.destination) doivent être interdites. Les politiques indexées ne doivent ignorer aucun index.
Attributs pris en charge
Les stratégies prennent en charge tous les attributs contrôlés avec l'API Clusters. Le type de restrictions que vous pouvez appliquer aux attributs peut varier selon le paramètre en fonction de leur type et de leur relation avec les éléments de l'interface utilisateur. Vous ne pouvez pas utiliser de politiques pour définir les autorisations de compute.
Vous pouvez également utiliser des stratégies pour définir le nombre maximal de DBU par heure et le type de clusters. Voir chemins d'attributs virtuels.
Le tableau suivant répertorie les chemins d'attributs de stratégie pris en charge :
Chemin d'attribut | Type | Description |
|---|---|---|
| nombre facultatif | Une fois masqué, supprime le champ de nombre maximal de Worker de l'interface utilisateur. |
| nombre facultatif | Lorsqu'il est masqué, le champ du nombre minimum de Worker est supprimé de l'interface utilisateur. |
| Nombre | Une valeur de |
| chaîne | Contrôle la disponibilité AWS ( |
| Nombre | Le nombre de volumes AWS EBS. |
| Nombre | La taille (en GiB) des volumes EBS AWS. |
| chaîne | Le type de volumes AWS EBS. |
| Nombre | Contrôle le nombre de nœuds de clusters qui utilisent des instances à la demande, en commençant par le nœud Driver. Par exemple, une valeur de |
| chaîne | Contrôle le profil d'instance AWS. |
| Nombre | Contrôle le prix maximum pour les instances ponctuelles AWS. |
| chaîne | Contrôle l'ID de zone AWS. |
| chaîne | L'URL de destination des fichiers Logs. |
| chaîne | La Région de l'emplacement S3. |
| S3, VOLUMES, DBFS, ou AUCUN | Le type de destination des Logs. |
| chaîne | Le nom du cluster. |
| chaîne | Contrôle les valeurs de tags spécifiques en ajoutant le nom du tag, par exemple : |
| chaîne | Définit le mode d'accès du cluster. Unity Catalog nécessite |
| chaîne | Le mot de passe pour l'authentification de base de l'image Databricks Container Services. |
| chaîne | Le nom d'utilisateur pour l'authentification de base de l'image Databricks Container Services. |
| chaîne | Contrôle l'URL de l'image Databricks Container Services. Lorsqu'elle est masquée, supprime la section Databricks Container Services de l'interface utilisateur. |
| chaîne facultative | Lorsqu'elle est masquée, supprime la sélection du type de nœud du Driver de l'interface utilisateur. |
| chaîne | Spécifie les types de nœuds alternatifs pour le nœud Driver. Seules les politiques fixes sont prises en charge. Voir Types de nœuds flexibles. |
| booléen | Lorsque masqué, supprime la case à cocher **Activer le dimensionnement automatique du stockage local** de l'interface utilisateur. |
| booléen | Définissez à |
| chaîne |
|
| chaîne | Contrôle le Pool utilisé par les nœuds Worker si |
| booléen | Lorsque la valeur est définie sur |
| chaîne | Si spécifié, configure un Pool différent pour le nœud Driver que pour les nœuds Worker. Si non spécifié, hérite de |
| chaîne | Une fois masqué, supprime la sélection du type de nœud worker de l'interface utilisateur. |
| chaîne | Spécifie les types de nœuds alternatifs pour les nœuds worker. Seules les politiques fixes sont prises en charge. Voir Types de nœuds flexibles. |
| nombre facultatif | Une fois masqué, supprime la spécification du nombre de Worker de l'interface utilisateur. |
| chaîne | Détermine si le cluster utilise Photon ou non. Les valeurs possibles sont |
| chaîne | Contrôle quels utilisateurs ou groupes peuvent être attribués à la ressource de compute. |
| chaîne facultative | Contrôlez les valeurs de configuration spécifiques en ajoutant le nom de la clé de configuration. Par exemple, |
| chaîne facultative | Contrôlez les valeurs de variables d'environnement Spark spécifiques en ajoutant la variable d'environnement, par exemple : |
| chaîne | Le nom de la version de l'image Spark, tel que spécifié via l'API (le Databricks Runtime). Vous pouvez également utiliser des valeurs de stratégie spéciales qui sélectionnent dynamiquement le Databricks Runtime. Reportez-vous à Valeurs de politique spéciales pour la sélection de Databricks Runtime. |
| chaîne |
|
| booléen | Contrôle si une version ML du Databricks Runtime doit être utilisée. Cet attribut n'est pris en charge que lorsque l'utilisateur utilise le formulaire simple. |
| booléen | Définit si la ressource de compute peut être utilisée pour les Jobs. Voir empêcher le compute d'être utilisé avec les jobs. |
| booléen | Définit si la ressource de compute peut être utilisée avec des Notebooks. Voir empêcher le compute d'être utilisé avec les jobs. |
Chemins d'attributs virtuels
Cette table inclut deux attributs synthétiques supplémentaires pris en charge par les stratégies. Si vous utilisez le nouveau formulaire de politique, ces attributs peuvent être définis dans la section Options avancées .
Chemin d'attribut | Type | Description |
|---|---|---|
| Nombre | Attribut calculé représentant le nombre maximal de DBU qu'une ressource peut utiliser par heure, y compris le nœud driver. Cette métrique est un moyen direct de contrôler les coûts au niveau individuel du compute. Utiliser avec limitation de plage. |
| chaîne | Représente le type de cluster qui peut être créé :
Autoriser ou bloquer les types de compute spécifiés qui peuvent être créés à partir de la politique. Si la valeur |
Types de nœuds flexibles
Les attributs des types de nœuds flexibles vous permettent de spécifier des types de nœuds alternatifs que la ressource de compute peut utiliser si le type de nœud primaire n'est pas disponible. Ces attributs ont des exigences de stratégie spécifiques :
- Seules les politiques fixes sont prises en charge. Tous les autres types de politique ne sont pas autorisés et seront rejetés au moment de la création de la politique.
- Une chaîne vide dans la politique correspond à une liste vide de types de nœuds alternatifs, désactivant effectivement les types de nœuds flexibles.
Correction à une liste spécifique de types de nœuds
Contrairement aux champs d'API de clusters correspondants qui utilisent un tableau de chaînes, les attributs de politique de compute utilisent une seule valeur de chaîne qui encode le tableau de types de nœuds comme une liste séparée par des virgules. Par exemple :
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": "nodeA,nodeB"
}
}
Si vous utilisez l'API Clusters pour créer une ressource de compute avec une politique attribuée, Databricks recommande de ne pas définir les champs worker_node_type_flexibility ou driver_node_type_flexibility. Si vous définissez ces champs, les types de nœuds et l'ordre du tableau doivent correspondre exactement à la liste de la politique séparée par des virgules, sinon le compute ne peut pas être créé. Par exemple, la définition de politique ci-dessus serait définie comme suit :
"worker_node_type_flexibility": {
"alternate_node_type_ids": ["nodeA", "nodeB"]
}
Désactiver les types de nœuds flexibles
Pour désactiver les types de nœuds flexibles, définissez la valeur sur une chaîne vide. Par exemple :
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": ""
}
}
Valeurs de stratégie spéciales pour la sélection de Databricks Runtime
L'attribut spark_version prend en charge des valeurs spéciales qui mappent dynamiquement à une version de Databricks Runtime en fonction de l'ensemble actuel des versions de Databricks Runtime prises en charge.
Les valeurs suivantes peuvent être utilisées dans l'attribut spark_version :
auto:latest: Correspond à la dernière version GA de Databricks Runtime.auto:latest-ml: Correspond à la dernière version de Databricks Runtime ML.auto:latest-lts: correspond à la dernière version Databricks Runtime de support à long terme (LTS).auto:latest-lts-ml: Correspond à la dernière version LTS de Databricks Runtime ML.auto:prev-major: Correspond à l’avant-dernière version de Databricks Runtime de disponibilité générale. Par exemple, siauto:latestest 14,2, alorsauto:prev-majorest 13,3.auto:prev-major-ml: Correspond à la deuxième version GA la plus récente de Databricks Runtime ML. Par exemple, siauto:latestest 14,2, alorsauto:prev-majorest 13,3.auto:prev-lts: Correspond à la deuxième version LTS la plus récente de Databricks Runtime. Par exemple, siauto:latest-ltsest 13,3, alorsauto:prev-ltsest 12,2.auto:prev-lts-ml: Correspond à l'avant-dernière version LTS de Databricks Runtime ML. Par exemple, siauto:latest-ltsest 13,3, alorsauto:prev-ltsest 12,2.
L'utilisation de ces valeurs n'entraîne pas la mise à jour automatique du compute lors de la publication d'une nouvelle version d'exécution. Un utilisateur doit explicitement modifier le compute pour que la version de Databricks Runtime change.
Types de politiques pris en charge
Cette section comprend une référence pour chacun des types de politiques disponibles. Il existe deux catégories de types de politiques : les politiques fixes et les politiques limitatives.
Les politiques fixes empêchent la configuration utilisateur sur un attribut. Les deux types de politiques fixes sont :
Les politiques de limitation limitent les options d'un utilisateur pour la configuration d'un attribut. Les stratégies de limitation vous permettent également de définir des valeurs par default et de rendre les attributs facultatifs. Voir Champs de politique de limitation supplémentaires.
Voici vos options pour limiter les politiques :
- Politique de liste d'autorisation
- Politique de liste de blocage
- Stratégie Regex
- Politique de plage
- Politique illimitée
Politique fixe
Les politiques fixes limitent l'attribut à la valeur spécifiée. Pour les valeurs d'attribut autres que numériques et booléennes, la valeur doit être représentée par ou convertible en une chaîne de caractères.
Avec les politiques fixes, vous pouvez également masquer l'attribut de l'interface utilisateur en définissant le champ hidden sur true.
interface FixedPolicy {
type: "fixed";
value: string | number | boolean;
hidden?: boolean;
}
Cette politique d'exemple fixe la version de Databricks Runtime et masque le champ de l'interface utilisateur :
{
"spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}
Politique interdite
Une politique interdite empêche les utilisateurs de configurer un attribut. Les politiques interdites ne sont compatibles qu'avec les attributs facultatifs.
interface ForbiddenPolicy {
type: "forbidden";
}
Cette stratégie interdit d'attacher des pools au compute pour les nœuds worker. Les pools sont également interdits pour le nœud driver, car driver_instance_pool_id hérite de la stratégie.
{
"instance_pool_id": { "type": "forbidden" }
}
Politique de liste d'autorisation
Une politique de liste d'autorisation spécifie une liste de valeurs que l'utilisateur peut choisir lors de la configuration d'un attribut.
interface AllowlistPolicy {
type: "allowlist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Cet exemple de liste blanche permet à l'utilisateur de choisir entre deux versions de Databricks Runtime :
{
"spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}
Forcez les utilisateurs à sélectionner une valeur dans la liste d'autorisation
Si vous ne définissez pas de valeur default pour la politique de liste d'autorisation, l'interface utilisateur prend par défaut la première valeur de la liste d'autorisation. Pour forcer l'utilisateur à sélectionner manuellement une valeur, définissez la valeur par default sur une valeur non valide. Par exemple : defaultValue?: "SELECT A VALUE";.
Politique de liste de blocage
La politique de liste de blocage répertorie les valeurs non autorisées. Puisque les valeurs doivent être des correspondances exactes, cette politique pourrait ne pas fonctionner comme prévu lorsque l'attribut est indulgent quant à la façon dont la valeur est représentée (par exemple, en autorisant les espaces de début et de fin).
interface BlocklistPolicy {
type: "blocklist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Cet exemple empêche l’utilisateur de sélectionner 7.3.x-scala2.12 comme Databricks Runtime.
{
"spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}
Politique Regex
Une politique regex limite les valeurs disponibles à celles qui correspondent à la regex. Pour des raisons de sécurité, assurez-vous que votre regex est ancrée au début et à la fin de la valeur de la chaîne.
interface RegexPolicy {
type: "regex";
pattern: string;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Cet exemple limite les versions de Databricks Runtime qu'un utilisateur peut sélectionner :
{
"spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}
Politique de plage
Une politique de plage limite la valeur à une plage spécifiée en utilisant les champs minValue et maxValue. La valeur doit être un nombre décimal.
Les limites numériques doivent être représentables en tant que valeur à virgule flottante double. Pour indiquer l’absence de limite spécifique, vous pouvez omettre minValue ou maxValue.
interface RangePolicy {
type: "range";
minValue?: number;
maxValue?: number;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Cet exemple limite le nombre maximal de Worker à 10 :
{
"num_workers": { "type": "range", "maxValue": 10 }
}
Stratégie illimitée
La politique illimitée est utilisée pour rendre les attributs obligatoires ou pour définir la valeur default dans l'interface utilisateur.
interface UnlimitedPolicy {
type: "unlimited";
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Cet exemple ajoute le tag COST_BUCKET au compute :
{
"custom_tags.COST_BUCKET": { "type": "unlimited" }
}
Pour définir une valeur default pour une variable de configuration Spark, mais également de l'omettre (la supprimer) :
{
"spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}
Champs de politique de limitation supplémentaires
Pour limiter les types de politique, vous pouvez spécifier deux champs supplémentaires :
defaultValue- La valeur qui se remplit automatiquement dans l'interface utilisateur de création de compute.isOptional- Une politique de limitation sur un attribut le rend automatiquement obligatoire. Pour rendre l'attribut facultatif, définissez le champisOptionalsurtrue.
Les valeurs default ne sont pas automatiquement appliquées au compute créé avec l’ API Clusters. Pour appliquer les valeurs default à l’aide de l’API, ajoutez le parameter apply_policy_default_values à la définition du compute et définissez-le sur true.
Cette stratégie d'exemple spécifie la valeur par default id1 pour le Pool des nœuds Worker, mais la rend facultative. Lors de la création du compute, vous pouvez sélectionner un Pool différent ou choisir de ne pas en utiliser un. Si driver_instance_pool_id n'est pas défini dans la politique ou lors de la création du compute, le même pool est utilisé pour les nœuds Worker et le nœud Driver.
{
"instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}
Rédaction de stratégies pour les attributs de tableau
Vous pouvez spécifier des stratégies pour les attributs de tableau de deux manières :
- Limitations génériques pour tous les éléments de tableau. Ces limitations utilisent le symbole générique
*dans le chemin d’accès de la politique. - Limitations spécifiques pour un élément de tableau à un index spécifique. Ces limitations utilisent un nombre dans le chemin.
Les attributs de types de nœuds flexibles (worker_node_type_flexibility.alternate_node_type_ids et driver_node_type_flexibility.alternate_node_type_ids) sont des champs de type tableau dans l'API des clusters, mais ils ne suivent pas le modèle de chemin générique/indexé documenté ici. Ces attributs nécessitent une seule règle de politique qui spécifie la liste complète sous forme de chaîne séparée par des virgules. Voir Types de nœuds flexibles pour plus de détails.
Par exemple, pour l'attribut de tableau init_scripts, les chemins génériques start par init_scripts.* et
les chemins spécifiques par init_scripts.<n>, où <n> est un index entier dans le tableau (starting par 0).
Vous pouvez combiner des limitations génériques et spécifiques, auquel cas la limitation générique s’applique à
chaque élément du tableau qui n’a pas de limitation spécifique. Dans chaque cas, une seule limitation de politique s'appliquera.
Les sections suivantes présentent des exemples courants qui utilisent des attributs de tableau.
Exiger des entrées spécifiques à l'inclusion
Vous ne pouvez pas exiger de valeurs spécifiques sans spécifier l'ordre. Par exemple :
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<required-script-2>"
}
}
Exiger une valeur fixe pour toute la liste
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Interdire totalement l'utilisation
{
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Autoriser les entrées qui suivent une restriction spécifique
{
"init_scripts.*.volumes.destination": {
"type": "regex",
"pattern": ".*<required-content>.*"
}
}
Corriger un ensemble spécifique de scripts d'initialisation
Dans le cas de init_scripts chemins, le tableau peut contenir l'une des multiples structures pour lesquelles toutes les variantes possibles peuvent devoir être gérées en fonction du cas d'usage. Par exemple, pour exiger un ensemble spécifique de scripts d'initialisation et interdire toute variante de l'autre version, vous pouvez utiliser le modèle suivant :
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<volume-paths>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<volume-paths>"
},
"init_scripts.*.workspace.destination": {
"type": "forbidden"
},
"init_scripts.*.s3.destination": {
"type": "forbidden"
},
"init_scripts.*.file.destination": {
"type": "forbidden"
}
}
Exemples de politiques
Cette section comprend des exemples de politiques que vous pouvez utiliser comme références pour créer vos propres politiques. Vous pouvez également utiliser les familles de politiques fournies par Databricks comme modèles pour les cas d'utilisation courants des politiques.
- Politique de compute générale
- Définir des limites sur le compute des Lakeflow pipelines
- Politique simple de taille moyenne.
- Politique pour les Jobs uniquement
- Politique de métastore externe
- Empêcher l'utilisation du compute avec les Jobs.
- Supprimer la stratégie de dimensionnement automatique
- Application de tags personnalisés
Politique de compute générale
Une politique de compute à usage général destinée à guider les utilisateurs et à restreindre certaines fonctionnalités, tout en exigeant des tags, en limitant le nombre maximal d'instances et en imposant un délai d'expiration.
{
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"spark_version": {
"type": "unlimited",
"defaultValue": "auto:latest-ml"
},
"node_type_id": {
"type": "allowlist",
"values": ["i3.xlarge", "i3.2xlarge", "i3.4xlarge"],
"defaultValue": "i3.2xlarge"
},
"driver_node_type_id": {
"type": "fixed",
"value": "i3.2xlarge",
"hidden": true
},
"autoscale.min_workers": {
"type": "fixed",
"value": 1,
"hidden": true
},
"autoscale.max_workers": {
"type": "range",
"maxValue": 25,
"defaultValue": 5
},
"enable_elastic_disk": {
"type": "fixed",
"value": true,
"hidden": true
},
"autotermination_minutes": {
"type": "fixed",
"value": 30,
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Définir des limites pour le compute des LakeFlow Pipelines
Lors de l'utilisation de politiques pour configurer le compute des LakeFlow Pipelines, Databricks recommande d'appliquer une politique unique aux compute default et maintenance.
Pour configurer une politique pour un compute de pipeline, créez une politique avec le champ cluster_type défini sur dlt. L'exemple suivant crée une politique minimale pour un compute de LakeFlow pipeline :
{
"cluster_type": {
"type": "fixed",
"value": "dlt"
},
"num_workers": {
"type": "unlimited",
"defaultValue": 3,
"isOptional": true
},
"node_type_id": {
"type": "unlimited",
"isOptional": true
},
"spark_version": {
"type": "unlimited",
"hidden": true
}
}
Politique simple de taille moyenne
Permet aux utilisateurs de créer un compute de taille moyenne avec une configuration minimale. Le seul champ obligatoire à la création est le nom du compute ; le reste est fixe et masqué.
{
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"spark_conf.spark.databricks.cluster.profile": {
"type": "forbidden",
"hidden": true
},
"autoscale.min_workers": {
"type": "fixed",
"value": 1,
"hidden": true
},
"autoscale.max_workers": {
"type": "fixed",
"value": 10,
"hidden": true
},
"autotermination_minutes": {
"type": "fixed",
"value": 60,
"hidden": true
},
"node_type_id": {
"type": "fixed",
"value": "i3.xlarge",
"hidden": true
},
"driver_node_type_id": {
"type": "fixed",
"value": "i3.xlarge",
"hidden": true
},
"spark_version": {
"type": "fixed",
"value": "auto:latest-ml",
"hidden": true
},
"enable_elastic_disk": {
"type": "fixed",
"value": false,
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Politique spécifique au job
Permet aux utilisateurs de créer du compute pour les Jobs afin d’exécuter des Jobs. Les utilisateurs ne peuvent pas créer de compute polyvalent à l’aide de cette politique.
{
"cluster_type": {
"type": "fixed",
"value": "job"
},
"dbus_per_hour": {
"type": "range",
"maxValue": 100
},
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"num_workers": {
"type": "range",
"minValue": 1
},
"node_type_id": {
"type": "regex",
"pattern": "[rmci][3-5][rnad]*.[0-8]{0,1}xlarge"
},
"driver_node_type_id": {
"type": "regex",
"pattern": "[rmci][3-5][rnad]*.[0-8]{0,1}xlarge"
},
"spark_version": {
"type": "unlimited",
"defaultValue": "auto:latest-lts"
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Politique de métastore externe
Permet aux utilisateurs de créer des compute avec un metastore défini par l'administrateur déjà attaché. Ceci est utile pour permettre aux utilisateurs de créer leur propre compute sans nécessiter de configuration supplémentaire.
{
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionURL": {
"type": "fixed",
"value": "jdbc:sqlserver://<jdbc-url>"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionDriverName": {
"type": "fixed",
"value": "com.microsoft.sqlserver.jdbc.SQLServerDriver"
},
"spark_conf.spark.databricks.delta.preview.enabled": {
"type": "fixed",
"value": "true"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionUserName": {
"type": "fixed",
"value": "<metastore-user>"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionPassword": {
"type": "fixed",
"value": "<metastore-password>"
}
}
Empêcher l’utilisation du compute avec les Jobs
Cette politique empêche les utilisateurs d'utiliser le compute pour exécuter des jobs. Les utilisateurs ne pourront utiliser le compute qu’avec des Notebooks.
{
"workload_type.clients.notebooks": {
"type": "fixed",
"value": true
},
"workload_type.clients.jobs": {
"type": "fixed",
"value": false
}
}
Supprimer la politique de dimensionnement automatique
Cette politique désactive le dimensionnement automatique et permet à l'utilisateur de définir le nombre de workers dans une plage donnée.
{
"num_workers": {
"type": "range",
"maxValue": 25,
"minValue": 1,
"defaultValue": 5
}
}
Application de tags personnalisés
Pour ajouter une règle de balise de compute à une politique, utilisez l'attribut custom_tags.<tag-name>.
Par exemple, tout utilisateur utilisant cette politique doit renseigner un tag COST_CENTER avec 9999, 9921 ou 9531 pour que le compute se lance :
{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }