Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Esta página usa exemplos JSON de definições de política. O novo formulário de política ofusca a maioria das definições de política JSON usando menus suspensos e outros elementos da interface do usuário. As regras de política e a lógica ainda são as mesmas, mas os usuários podem configurar definições sem escrever código JSON. Se não quiser usar o novo formulário, desative a configuração Novo formulário na parte superior da página da política.
Esta página é uma referência para definições de política de computação, incluindo uma lista de atributos de política disponíveis e tipos de limitação. Há também exemplos de políticas que você pode referenciar para casos de uso comuns.
O que são definições de políticas?
As definições de política são regras de política individuais expressas em JSON.
Uma definição pode adicionar uma regra a qualquer um dos atributos controlados com a API Clusters. Por exemplo, essas definições definem um tempo de encerramento automático padrão, proíbem os usuários de usar pools e impõem o uso 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
}
}
Só pode haver uma limitação por atributo. O caminho de um atributo reflete o nome do atributo da API. Para atributos aninhados, o caminho concatena os nomes de atributos aninhados usando pontos. Os atributos que não estão definidos em uma definição de política não serão limitados.
Configurar definições de política usando o novo formulário de política
O novo formulário de política permite configurar definições de política usando menus suspensos e outros elementos da interface do usuário. Isso significa que os administradores podem escrever políticas sem ter que aprender ou fazer referência à sintaxe da política.
As definições de política JSON ainda são suportadas no novo formulário. Eles podem ser adicionados ao campo JSON personalizado em Opções avançadas.
Limitações conhecidas usando o novo formulário de política
Se uma política não for suportada pelo novo formulário de política de computação, quaisquer definições incompatíveis aparecerão no campo JSON personalizado na seção Opções avançadas . Para os campos abaixo, apenas um subconjunto de políticas válidas é suportado:
-
workload_type: A política deve definir ambos e
workload_type.clients.notebooksworkload_type.clients.jobs. Cada uma destas regras deve ser fixada em umtrueoufalse. -
dbus_per_hour: Somente as políticas de intervalo que especificam
maxValuee não especificamminValuesão suportadas. -
ssh_public_keys: Somente políticas fixas são suportadas. As
ssh_public_keyspolíticas não devem ignorar nenhum índice. Por exemplo,ssh_public_keys.0,ssh_public_keys.1,ssh_public_keys.2é válido, masssh_public_keys.0,ssh_public_keys.2,ssh_public_keys.3não é válido. -
cluster_log_conf: O
cluster_log_conf.pathnão pode ser uma lista de permissões ou uma lista de bloqueio. -
init_scripts: As políticas indexadas (ou seja,
init_scripts.0.volumes.destination) devem ser corrigidas. Políticas curinga (ou seja,init_scripts.*.volumes.destination) devem ser proibidas. As políticas indexadas não devem ignorar nenhum índice.
Atributos suportados
As políticas suportam todos os atributos controlados com a API Clusters. O tipo de restrições que você pode colocar em atributos pode variar por configuração com base em seu tipo e relação com os elementos da interface do usuário. Não é possível usar políticas para definir permissões de computação.
Você também pode usar políticas para definir o máximo de DBUs por hora e o tipo de cluster. Ver Caminhos de atributos virtuais.
A tabela a seguir lista os caminhos de atributo de política suportados:
| Caminho do atributo | Tipo | Descrição |
|---|---|---|
autoscale.max_workers |
número opcional | Quando oculto, remove o campo número máximo de trabalhadores da interface do usuário. |
autoscale.min_workers |
número opcional | Quando oculto, remove o campo número mínimo de trabalhadores da interface do usuário. |
autotermination_minutes |
número | Um valor de 0 não representa nenhuma terminação automática. Quando oculto, remove a caixa de seleção de terminação automática e o campo de inserção de valor da interface de utilizador. |
azure_attributes.availability |
cadeia (de caracteres) | Controla se o uso de recursos computacionais utiliza instâncias a pedido ou spot (SPOT_AZURE, ON_DEMAND_AZURE, ou SPOT_WITH_FALLBACK_AZURE). |
azure_attributes.first_on_demand |
número | Controla o número de nós do cluster que utilizam instâncias sob demanda, começando com o nó de driver. Por exemplo, um valor de 1 configura o nó de driver para sob demanda. Um valor de 2 define o nó do driver e um nó de trabalho como sob demanda. |
azure_attributes.spot_bid_max_price |
número | Limita o preço máximo permitido para instâncias spot do Azure. |
cluster_log_conf.path |
cadeia (de caracteres) | A URL de destino dos arquivos de log. |
cluster_log_conf.type |
cadeia (de caracteres) | O tipo de destino do log.
DBFS e VOLUMES são os únicos valores aceitáveis. |
cluster_name |
cadeia (de caracteres) | O nome do cluster. |
custom_tags.* |
cadeia (de caracteres) | Controle valores de tag específicos anexando o nome da tag, por exemplo: custom_tags.<mytag>. |
data_security_mode |
cadeia (de caracteres) | Define o modo de acesso do cluster. O Catálogo Unity requer SINGLE_USER ou USER_ISOLATION (modo de acesso Standard na interface do usuário). Um valor de NONE significa que nenhum recurso de segurança está habilitado. |
docker_image.basic_auth.password |
cadeia (de caracteres) | A palavra-passe para a autenticação básica da imagem dos serviços de contentores Databricks. |
docker_image.basic_auth.username |
cadeia (de caracteres) | O nome de usuário para a autenticação básica da imagem do Databricks Container Services. |
docker_image.url |
cadeia (de caracteres) | Controla o URL da imagem utilizada pelo Databricks Container Services. Quando oculto, remove a seção Databricks Container Services da interface do usuário. |
driver_node_type_id |
string opcional | Quando oculto, remove a seleção do tipo de nó do controlador na interface do usuário. |
driver_node_type_flexibility.alternate_node_type_ids |
cadeia (de caracteres) | Especifica tipos de nós alternativos para o nó driver. Apenas políticas fixas são suportadas. Ver Tipos de nós flexíveis. |
enable_local_disk_encryption |
Booleano | Defina como true para habilitar, ou false desabilitar, a criptografia de discos que estão conectados localmente ao cluster (conforme especificado pela API). |
init_scripts.*.workspace.destination
init_scripts.*.volumes.destination
init_scripts.*.abfss.destination
init_scripts.*.file.destination
|
cadeia (de caracteres) |
* refere-se ao índice do script init na matriz de atributos. Consulte Redigir políticas para atributos de matriz. |
instance_pool_id |
cadeia (de caracteres) | Controla o pool usado pelos nós de trabalho se driver_instance_pool_id também estiver definido ou, caso contrário, para todos os nós de cluster. Caso utilize pools para os nós de trabalho, você deve também usar pools para o nó controlador. Quando oculto, remove a seleção de pool da interface do usuário. |
driver_instance_pool_id |
cadeia (de caracteres) | Caso seja especificado, configura um pool diferente para o nó do driver do que para os nós de trabalho. Se não for especificado, herda instance_pool_id. Caso utilize pools para os nós de trabalho, você deve também usar pools para o nó controlador. Quando oculto, remove a seleção do pool de drivers da interface do usuário. |
is_single_node |
Booleano | Quando definido como true, a computação deve ser de nó único. Este atributo só é suportado quando o usuário usa o formulário simples. |
node_type_id |
cadeia (de caracteres) | Quando oculto, remove a seleção de tipo de nó de trabalho da interface do usuário. |
worker_node_type_flexibility.alternate_node_type_ids |
cadeia (de caracteres) | Especifica tipos de nós alternativos para nós de trabalho. Apenas políticas fixas são suportadas. Ver Tipos de nós flexíveis. |
num_workers |
número opcional | Quando oculto, remove a especificação do número de trabalhador da interface do usuário. |
runtime_engine |
cadeia (de caracteres) | Determina se o cluster usa Photon ou não. Os valores possíveis são PHOTON ou STANDARD. |
single_user_name |
cadeia (de caracteres) | Controla quais usuários ou grupos podem ser atribuídos ao recurso de computação. |
spark_conf.* |
string opcional | Controla valores de configuração específicos anexando o nome da chave de configuração, por exemplo: spark_conf.spark.executor.memory. |
spark_env_vars.* |
string opcional | Controla valores específicos da variável de ambiente Spark anexando a variável de ambiente, por exemplo: spark_env_vars.<environment variable name>. |
spark_version |
cadeia (de caracteres) | O nome da versão da imagem do Spark, conforme especificado pela API (Databricks Runtime). Você também pode usar valores de política especiais que selecionam dinamicamente o Databricks Runtime. Consulte Valores de política especiais para a seleção do Databricks Runtime. |
use_ml_runtime |
Booleano | Controla se uma versão de ML do Databricks Runtime deve ser usada. Este atributo só é suportado quando o usuário usa o formulário simples. |
workload_type.clients.jobs |
Booleano | Define se o recurso de computação pode ser usado para trabalhos. Consulte Impedir que a computação seja usada com tarefas. |
workload_type.clients.notebooks |
Booleano | Define se o recurso de computação pode ser usado com blocos de anotações. Consulte Impedir que a computação seja usada com tarefas. |
Caminhos de atributos virtuais
Esta tabela inclui dois atributos sintéticos adicionais suportados por políticas. Se você usar o novo formulário de política, esses atributos poderão ser definidos na seção Opções avançadas .
| Caminho do atributo | Tipo | Descrição |
|---|---|---|
dbus_per_hour |
número | Atributo calculado que representa o número máximo de unidades de processamento de dados (DBUs) que um recurso pode usar por hora, incluindo o nó motor. Essa métrica é uma maneira direta de controlar o custo no nível de computação individual. Use com limitação de alcance. |
cluster_type |
cadeia (de caracteres) | Representa o tipo de cluster que pode ser criado:
Permitir ou bloquear tipos especificados de computação a serem criados a partir da política. Se o valor all-purpose não for permitido, a política não será exibida na interface de criação de computação para uso geral. Se o valor job não for permitido, a política não será exibida na interface de criação de tarefas de computação. |
Tipos de nós flexíveis
Os atributos flexíveis dos tipos de nó permitem-lhe especificar tipos de nós alternativos que o recurso de computação pode usar caso o tipo principal de nó não esteja disponível. Estes atributos têm requisitos de política especiais:
- Apenas políticas fixas são suportadas. Todos os outros tipos de apólices não são permitidos e serão rejeitados no momento da criação da apólice.
- Uma sequência vazia na política corresponde a uma lista vazia de tipos de nós alternativos, desativando efetivamente os tipos de nós flexíveis.
Corrigir para uma lista específica de tipos de nós
Ao contrário dos campos correspondentes da API dos Clusters, que usam um array de cadeias, os atributos da política de computação usam um único valor de cadeia que codifica o array de tipos de nós como uma lista separada por vírgulas. Por exemplo:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": "nodeA,nodeB"
}
}
Se usar a API Clusters para criar um recurso de computação com uma política atribuída, o Databricks recomenda não definir os worker_node_type_flexibility campos ou driver_node_type_flexibility . Se definir estes campos, os tipos de nós e a ordem do array devem corresponder exatamente à lista separada por vírgulas da política, caso contrário o cálculo não pode ser criado. Por exemplo, a definição de política acima seria definida como:
"worker_node_type_flexibility": {
"alternate_node_type_ids": ["nodeA", "nodeB"]
}
Desativar tipos de nós flexíveis
Para desativar tipos de nós flexíveis, defina o valor para uma cadeia vazia. Por exemplo:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": ""
}
}
Valores de política especiais para a seleção do Databricks Runtime
O atributo spark_version suporta valores especiais que são mapeados dinamicamente para uma versão do Databricks Runtime com base no conjunto atual de versões suportadas do Databricks Runtime.
Os seguintes valores podem ser usados no atributo spark_version:
-
auto:latest: Mapeia para a versão mais recente do GA Databricks Runtime. -
auto:latest-ml: Mapeia para a versão mais recente do Databricks Runtime ML. -
auto:latest-lts: Mapeia para a versão mais recente do Databricks Runtime com suporte de longo prazo (LTS). -
auto:latest-lts-ml: Corresponde à versão mais recente do Runtime ML do Databricks LTS. -
auto:prev-major: Mapeia para a segunda versão mais recente do GA Databricks Runtime. Por exemplo, seauto:latesté 14.2, entãoauto:prev-majoré 13.3. -
auto:prev-major-ml: Mapeia para a segunda versão mais recente do GA Databricks Runtime ML. Por exemplo, seauto:latesté 14.2, entãoauto:prev-majoré 13.3. -
auto:prev-lts: Mapeia para a segunda versão mais recente do LTS Databricks Runtime. Por exemplo, seauto:latest-ltsé 13.3, entãoauto:prev-ltsé 12.2. -
auto:prev-lts-ml: Mapeia para a segunda versão mais recente do LTS Databricks Runtime ML. Por exemplo, seauto:latest-ltsé 13.3, entãoauto:prev-ltsé 12.2.
Observação
A utilização destes valores não possibilita a atualização automática da computação quando é lançada uma nova versão de execução. Um usuário deve editar explicitamente a computação para que a versão do Databricks Runtime seja alterada.
Tipos de política suportados
Esta secção inclui uma referência para cada um dos tipos de política disponíveis. Existem duas categorias de tipos de políticas: políticas fixas e políticas limitativas.
Políticas fixas impedem a configuração do usuário em um atributo. Os dois tipos de apólices fixas são:
As políticas limitantes limitam as opções de um usuário para configurar um atributo. As políticas de limitação também permitem definir valores padrão e tornar os atributos opcionais. Consulte Campos de política de limitação adicionais.
Suas opções para limitar políticas são:
- política de lista de permissões
- Política de lista de bloqueio
- Política de Regex
- Política de alcance
- Política ilimitada
Política fixa
As políticas fixas limitam o atributo ao valor especificado. Para valores de atributo diferentes de numéricos e booleanos, o valor deve ser representado por ou conversível em uma cadeia de caracteres.
Com políticas fixas, você também pode ocultar o atributo da interface do usuário definindo o campo hidden como true.
interface FixedPolicy {
type: "fixed";
value: string | number | boolean;
hidden?: boolean;
}
Esta política de exemplo corrige a versão do Databricks Runtime e oculta o campo da interface do usuário:
{
"spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}
Política proibida
Uma política proibida impede que os usuários configurem um atributo. As políticas proibidas só são compatíveis com atributos opcionais.
interface ForbiddenPolicy {
type: "forbidden";
}
Esta política proíbe anexar pools aos nós de trabalho na infraestrutura de computação. Os pools também são proibidos para o nó do driver, porque driver_instance_pool_id herda a política.
{
"instance_pool_id": { "type": "forbidden" }
}
Política de lista de permissões
Uma política allowlist especifica uma lista de valores entre os quais o usuário pode escolher ao configurar um atributo.
interface AllowlistPolicy {
type: "allowlist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Este exemplo allowlist permite que o usuário selecione entre duas versões do Databricks Runtime:
{
"spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}
Política de lista de bloqueio
A política de lista de bloqueio lista valores não permitidos. Como os valores devem ser correspondências exatas, esta política pode não funcionar como esperado quando o atributo é flexível na forma como o valor é representado (por exemplo, permitindo espaços no início e no fim).
interface BlocklistPolicy {
type: "blocklist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Este exemplo impede que o usuário selecione 7.3.x-scala2.12 como Databricks Runtime.
{
"spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}
política Regex
Uma política de regex limita os valores disponíveis àqueles que correspondem ao regex. Por segurança, certifique-se de que seu regex esteja ancorado no início e no final do valor da cadeia de caracteres.
interface RegexPolicy {
type: "regex";
pattern: string;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Este exemplo limita as versões do Databricks Runtime que um usuário pode selecionar:
{
"spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}
Política de alcance
Uma política de intervalo limita o valor a um intervalo especificado usando os campos minValue e maxValue. O valor deve ser um número decimal.
Os limites numéricos devem ser representáveis como um valor de ponto flutuante duplo. Para indicar a falta de um limite específico, você pode omitir minValue ou maxValue.
interface RangePolicy {
type: "range";
minValue?: number;
maxValue?: number;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Este exemplo limita a quantidade máxima de trabalhadores a 10:
{
"num_workers": { "type": "range", "maxValue": 10 }
}
Política ilimitada
A política ilimitada é usada para tornar os atributos necessários ou para definir o valor padrão na interface do usuário.
interface UnlimitedPolicy {
type: "unlimited";
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Este exemplo adiciona a marca COST_BUCKET ao cálculo:
{
"custom_tags.COST_BUCKET": { "type": "unlimited" }
}
Para definir um valor padrão para uma variável de configuração do Spark, mas também permitir omiti-la (removê-la):
{
"spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}
Campos de política de limitação adicionais
Para limitar os tipos de política, você pode especificar dois campos adicionais:
-
defaultValue- O valor que é preenchido automaticamente na interface de criação de computação. -
isOptional- Uma política de limitação de um atributo torna-o automaticamente obrigatório. Para tornar o atributo opcional, defina o campoisOptionalcomotrue.
Observação
Os valores padrão não são aplicados automaticamente à computação criada com a API de Clusters. Para aplicar valores padrão usando a API, adicione o parâmetro apply_policy_default_values à definição de computação e defina-o como true.
Esta política de exemplo especifica o valor padrão id1 para o grupo de nós de trabalho, mas torna-o opcional. Ao criar a computação, você pode selecionar um pool diferente ou optar por não usar um. Se driver_instance_pool_id não estiver definido na política ou durante a criação da computação, o mesmo pool será usado para nodos de trabalho e o nodo de controlador.
{
"instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}
Escrevendo políticas para atributos de matriz
Você pode especificar políticas para atributos de matriz de duas maneiras:
- Limitações genéricas para todos os elementos da matriz. Essas limitações usam o símbolo curinga
*no caminho de política. - Limitações específicas para um elemento de matriz em um índice específico. Essas limitações incluem um número no caminho.
Observação
Os atributos de tipos de nós flexíveis (worker_node_type_flexibility.alternate_node_type_ids e driver_node_type_flexibility.alternate_node_type_ids) são campos do tipo array na API Clusters, mas não seguem o padrão de caminho curinga/indexado aqui documentado. Estes atributos requerem uma única regra de política que especifique a lista completa como uma cadeia separada por vírgulas. Veja Tipos de nós flexíveis para detalhes.
Por exemplo, para o atributo de matriz init_scripts, os caminhos genéricos começam com init_scripts.* e os caminhos específicos com init_scripts.<n>, onde <n> é um índice inteiro na matriz (começando com 0).
Você pode combinar limitações genéricas e específicas, caso em que a limitação genérica se aplica a cada elemento de matriz que não tem uma limitação específica. Em cada caso, apenas uma limitação de política será aplicada.
As seções a seguir mostram exemplos de exemplos comuns que usam atributos de matriz.
Exigir entradas específicas para inclusão
Não é possível exigir valores específicos sem especificar a ordem. Por exemplo:
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<required-script-2>"
}
}
Exigir um valor fixo de toda a lista
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Proibir o uso por completo
{
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Permitir entradas que seguem restrições específicas
{
"init_scripts.*.volumes.destination": {
"type": "regex",
"pattern": ".*<required-content>.*"
}
}
Corrigir um conjunto específico de scripts de inicialização
No caso de caminhos init_scripts, a matriz pode conter uma das várias estruturas para as quais todas as variantes possíveis podem precisar ser manipuladas, dependendo do caso de uso. Por exemplo, para exigir um conjunto específico de scripts init e não permitir qualquer variante da outra versão, você pode usar o seguinte padrão:
{
"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.*.abfss.destination": {
"type": "forbidden"
},
"init_scripts.*.file.destination": {
"type": "forbidden"
}
}
Exemplos de políticas
Esta seção inclui exemplos de políticas que você pode usar como referência para criar suas próprias políticas. Você também pode usar as famílias de políticas de fornecidas pelo Azure Databricks como modelos para casos de uso de políticas comuns.
- Política geral de computação
- Definir limites na computação dos pipelines declarativos do Lakeflow Spark
- Política simples de média dimensão
- Política de criação exclusiva de postos de trabalho
- Política de metastore externo
- Impedir que os recursos de computação sejam usados com tarefas
- Remover a política de dimensionamento automático
- Imposição de etiquetas personalizadas
Política geral de computação
Uma política de computação de uso geral destinada a orientar os usuários e restringir algumas funcionalidades, ao mesmo tempo em que exige tags, restringe o número máximo de instâncias e impõe o tempo limite.
{
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"spark_version": {
"type": "regex",
"pattern": "12\\.[0-9]+\\.x-scala.*"
},
"node_type_id": {
"type": "allowlist",
"values": ["Standard_L4s", "Standard_L8s", "Standard_L16s"],
"defaultValue": "Standard_L16s_v2"
},
"driver_node_type_id": {
"type": "fixed",
"value": "Standard_L16s_v2",
"hidden": true
},
"autoscale.min_workers": {
"type": "fixed",
"value": 1,
"hidden": true
},
"autoscale.max_workers": {
"type": "range",
"maxValue": 25,
"defaultValue": 5
},
"autotermination_minutes": {
"type": "fixed",
"value": 30,
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Definir limites na computação para os pipelines declarativos do Lakeflow Spark
Observação
Ao usar políticas para configurar a computação do Lakeflow Spark Declarative Pipelines, o Databricks recomenda a aplicação de uma única política para o default e maintenance compute.
Para configurar uma política para uma computação de fluxo contínuo, crie uma política com o campo cluster_type definido como dlt. O exemplo a seguir cria uma política mínima para um cálculo Lakeflow Spark Declarative Pipelines:
{
"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
}
}
Política simples de média dimensão
Permite que os usuários criem uma computação de tamanho médio com configuração mínima. O único campo obrigatório no momento da criação é o nome do computador; o resto é fixo e escondido.
{
"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": "Standard_L8s_v2",
"hidden": true
},
"driver_node_type_id": {
"type": "fixed",
"value": "Standard_L8s_v2",
"hidden": true
},
"spark_version": {
"type": "fixed",
"value": "auto:latest-ml",
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Política apenas de emprego
Permite que os usuários criem computação de trabalho para executar trabalhos. Os usuários não podem criar computação para todos os fins usando esta política.
{
"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": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
},
"driver_node_type_id": {
"type": "regex",
"pattern": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
},
"spark_version": {
"type": "unlimited",
"defaultValue": "auto:latest-lts"
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Política de metastore externo
Permite que os usuários criem computação com um metastore definido pelo administrador já conectado. Isso é útil para permitir que os usuários criem sua própria computação sem exigir configuração adicional.
{
"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>"
}
}
Impedir que os recursos de computação sejam usados em tarefas
Essa política impede que os usuários usem a computação para executar trabalhos. Os usuários só poderão usar a computação com notebooks.
{
"workload_type.clients.notebooks": {
"type": "fixed",
"value": true
},
"workload_type.clients.jobs": {
"type": "fixed",
"value": false
}
}
Remover a política de dimensionamento automático
Esta política desativa o dimensionamento automático e permite que o usuário defina o número de trabalhadores dentro de um determinado intervalo.
{
"num_workers": {
"type": "range",
"maxValue": 25,
"minValue": 1,
"defaultValue": 5
}
}
Imposição de etiquetas personalizadas
Para adicionar uma regra de etiqueta de computação a uma política, utilize o atributo custom_tags.<tag-name>.
Por exemplo, qualquer usuário que use essa política precisa preencher uma tag COST_CENTER com 9999, 9921 ou 9531 para que a computação seja iniciada:
{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }