Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Заметка
На этой странице используются примеры определений политик в формате JSON. Политику можно определить с помощью JSON или использовать пользовательский интерфейс политики вычислений для настройки определений политик с помощью раскрывающихся меню и других элементов пользовательского интерфейса.
Эта страница является ссылкой на определения политик вычислений, включая список доступных атрибутов политики и типов ограничений. Существуют также примеры политик, на которые можно ссылаться для распространенных вариантов использования.
Что представляют собой определения политик?
Определения политик — это отдельные правила политики, выраженные в формате JSON.
Определение может добавить правило в любой из атрибутов, контролируемых API кластеров . Например, эти определения задают время автотерминации по умолчанию, запрещают пользователям использовать пулы и применяют использование Photon:
{
"autotermination_minutes": {
"type": "unlimited",
"defaultValue": 4320,
"isOptional": true
},
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"runtime_engine": {
"type": "fixed",
"value": "PHOTON",
"hidden": true
}
}
Для каждого атрибута может быть только одно ограничение. Путь атрибута отражает имя атрибута API. Для вложенных атрибутов путь объединяет имена вложенных атрибутов с помощью точек. Атрибуты, которые не определены в определении политики, не будут ограничены.
Настройка определений политик с помощью элементов пользовательского интерфейса
Форма политики позволяет настраивать определения политик с помощью раскрывающихся меню и других элементов пользовательского интерфейса. Это означает, что администраторы могут создавать политики без необходимости изучать или ссылаться на синтаксис политики.
Форма также поддерживает редактирование полного определения политики непосредственно в формате JSON. Чтобы изменить JSON, выполните следующие действия.
- Нажмите кнопку "Изменить определение как JSON" в разделе "Дополнительно" раздела "Определение", чтобы открыть редактор JSON.
- Щелкните вкладку JSON, чтобы просмотреть JSON описания. На этой вкладке можно также нажать кнопку "Изменить определение в формате JSON ", чтобы открыть редактор.
Кроме того, отдельные правила JSON можно добавить в поле Custom JSON в разделе "Дополнительные параметры".
Известные ограничения при использовании новой формы политики
Если политика не поддерживается новой формой политики вычислений, все несовместимые определения будут отображаться в настраиваемом поле JSON в разделе "Дополнительные параметры ". Для следующих полей поддерживается только подмножество допустимых политик:
-
workload_type: политика должна определять оба
workload_type.clients.notebooksиworkload_type.clients.jobs. Каждое из этих правил должно быть исправлено либо наtrueлибо наfalse. -
dbus_per_hour: Поддерживаются только политики диапазона, которые указывают
maxValueи не указываютminValue. -
ssh_public_keys. Поддерживаются только фиксированные политики. Политики
ssh_public_keysне должны пропускать индексы данных. Например,ssh_public_keys.0ssh_public_keys.1ssh_public_keys.2, является допустимым, ноssh_public_keys.0,ssh_public_keys.2ssh_public_keys.3является недопустимым. -
cluster_log_conf:
cluster_log_conf.pathне может быть списком разрешений или списком блокировок. -
init_scripts: Индексированные политики, т. е.
init_scripts.0.volumes.destination, должны быть исправлены. Политики подстановочных знаков (например,init_scripts.*.volumes.destination) должны быть запрещены. Политики индексирования не должны пропускать индексы.
Поддерживаемые атрибуты
Политики поддерживают все атрибуты, которые управляются с помощью API кластеров
Вы также можете использовать политики для задания максимального числа DBUs в час и типа кластера. См. виртуальные пути атрибутов.
В следующей таблице перечислены поддерживаемые пути атрибутов политики:
| Путь атрибута | Тип | Описание |
|---|---|---|
autoscale.max_workers |
необязательный номер | При скрытии удаляет максимальное поле рабочего числа из пользовательского интерфейса. |
autoscale.min_workers |
необязательный номер | При скрытии удаляет минимальное поле рабочего числа из пользовательского интерфейса. |
autotermination_minutes |
число | Значение 0 означает отсутствие автоматического завершения. Если скрыто, удаляет флажок автоматического завершения и поле ввода значения из пользовательского интерфейса. |
azure_attributes.availability |
струна | Определяет, используются ли вычислительные ресурсы по запросу или точечные экземпляры (SPOT_AZURE, ON_DEMAND_AZUREили SPOT_WITH_FALLBACK_AZURE). |
azure_attributes.first_on_demand |
число | Определяет количество узлов кластера, использующих экземпляры по запросу, начиная с узла драйвера. Например, значение 1 устанавливает узел драйвера в режим по запросу. Значение 2 устанавливает узел драйвера и один рабочий узел для работы в режиме по требованию. |
azure_attributes.spot_bid_max_price |
число | Управляет максимальной ценой для спотовых экземпляров Azure. |
cluster_log_conf.path |
струна | URL-адрес назначения файлов журнала. |
cluster_log_conf.type |
струна | Тип места назначения журнала.
DBFS и VOLUMES являются единственными допустимыми значениями. |
cluster_name |
струна | Имя кластера. |
custom_tags.* |
струна | Управляйте определенными значениями тегов, добавляя имя тега, например custom_tags.<mytag>. |
data_security_mode |
струна | Задает режим доступа кластера. Для каталога Unity требуется SINGLE_USER или USER_ISOLATION (стандартный режим доступа в пользовательском интерфейсе). Значение NONE означает, что функции безопасности не включены. |
docker_image.basic_auth.password |
струна | Пароль для базовой проверки подлинности образа в Databricks Container Services. |
docker_image.basic_auth.username |
струна | Имя пользователя для базовой проверки подлинности изображения в Databricks Container Services. |
docker_image.url |
струна | Управляет URL-адресом образа сервиса контейнеров Databricks. При скрытии удаляет раздел Databricks Container Services из пользовательского интерфейса. |
driver_node_type_id |
необязательная строка | При скрытии удаляет выбор типа узла драйвера из пользовательского интерфейса. |
driver_node_type_flexibility.alternate_node_type_ids |
струна | Задает альтернативные типы узлов для узла драйвера. Поддерживаются только фиксированные политики. См. раздел "Гибкие типы узлов". |
enable_local_disk_encryption |
булевый | Установите true, чтобы включить, или false, чтобы отключить шифрование дисков, которые локально подключены к кластеру (как указано через API). |
init_scripts.*.workspace.destination
init_scripts.*.volumes.destination
init_scripts.*.abfss.destination
init_scripts.*.file.destination
|
струна |
* ссылается на индекс скрипта инициализации в массиве атрибутов. См. Политики записи для атрибутов массива. |
instance_pool_id |
струна | Управляет пулом, используемым рабочими узлами, если driver_instance_pool_id также определён, или в противном случае для всех узлов кластера. При использовании пулов для рабочих узлов необходимо также использовать пулы для узла драйвера. При скрытии удаляет выбор пула из пользовательского интерфейса. |
driver_instance_pool_id |
струна | Если задано, настраивает другой пул для узла драйвера, чем для рабочих узлов. Если не указано, он наследует instance_pool_id. При использовании пулов для рабочих узлов необходимо также использовать пулы для узла драйвера. При скрытии удаляет выбор пула драйверов из пользовательского интерфейса. |
is_single_node |
булевый | Если задано значение true, вычисление должно быть одним узлом. Этот атрибут поддерживается только в том случае, если пользователь использует простую форму. |
node_type_id |
струна | При скрытии удаляет выбор типа рабочего узла из пользовательского интерфейса. |
worker_node_type_flexibility.alternate_node_type_ids |
струна | Задает альтернативные типы узлов для рабочих узлов. Поддерживаются только фиксированные политики. См. раздел "Гибкие типы узлов". |
num_workers |
необязательный номер | При скрытии удаляет спецификацию рабочего номера из пользовательского интерфейса. |
runtime_engine |
струна | Определяет, используется ли Photon в кластере. Возможные значения : PHOTON или STANDARD. |
single_user_name |
струна | Определяет, какие пользователи или группы могут быть назначены вычислительному ресурсу. |
spark_conf.* |
необязательная строка | Управляет определенными значениями конфигурации путем добавления имени ключа конфигурации, например spark_conf.spark.executor.memory. |
spark_env_vars.* |
необязательная строка | Контролирует конкретные значения переменной среды Spark путем добавления значений переменной среды, например: spark_env_vars.<environment variable name>. |
spark_version |
струна | Имя версии образа Spark, указанное через API (Databricks Runtime). Вы также можете использовать специальные значения политики, которые динамически выбирают среду выполнения Databricks. См. специальные значения политик выбора среды выполнения Databricks. |
use_ml_runtime |
булевый | Определяет, должна ли использоваться версия машинного обучения среды выполнения Databricks. Этот атрибут поддерживается только в том случае, если пользователь использует простую форму. |
workload_type.clients.jobs |
булевый | Определяет, можно ли использовать вычислительный ресурс для заданий. См. раздел Запрет использования вычислений с заданиями. |
workload_type.clients.notebooks |
булевый | Определяет, можно ли использовать вычислительный ресурс с записными книжками. См. раздел Запрет использования вычислений с заданиями. |
Пути виртуальных атрибутов
Эта таблица содержит два дополнительных синтетических атрибута, поддерживаемых политиками. Если вы используете новую форму политики, эти атрибуты можно задать в разделе "Дополнительные параметры ".
| Путь атрибута | Тип | Описание |
|---|---|---|
dbus_per_hour |
число | Вычисляемый атрибут, представляющий максимальное количество DBU, которое ресурс может использовать в час, включая управляющий узел. Эта метрика является прямым способом управления затратами на отдельном уровне вычислений. Использование с ограничением диапазона. |
cluster_type |
струна | Представляет тип кластера, который можно создать:
Разрешить или блокировать создание указанных типов вычислений из политики. Если значение all-purpose не допускается, политика не отображается в универсальном интерфейсе создания вычислений. Если значение job не разрешено, политика не отображается в интерфейсе создания вычислительных заданий. |
Гибкие типы узлов
Атрибуты гибких типов узлов позволяют указать альтернативные типы узлов, которые может использовать вычислительный ресурс, если тип первичного узла недоступен. Эти атрибуты имеют особые требования к политике:
- Поддерживаются только фиксированные политики. Все остальные типы политик запрещены и будут отклонены во время создания политики.
- Пустая строка в политике сопоставляется с пустым списком альтернативных типов узлов, эффективно отключая гибкие типы узлов.
Исправление для определенного списка типов узлов
В отличие от соответствующих полей API кластеров, использующих массив строк, атрибуты политики вычислений используют одно строковое значение, которое кодирует массив типов узлов в виде списка, разделенного запятыми. Например:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": "nodeA,nodeB"
}
}
Если вы используете API кластеров для создания вычислительного ресурса с назначенной политикой, Databricks рекомендует не задавать worker_node_type_flexibility поля или driver_node_type_flexibility поля. Если вы задаёте эти поля, типы узлов и порядок в массиве должны точно совпадать со списком, разделённым запятыми, в политике, иначе вычислительный ресурс создать невозможно. Например, определение политики из выше будет задано следующим образом:
"worker_node_type_flexibility": {
"alternate_node_type_ids": ["nodeA", "nodeB"]
}
Отключение гибких типов узлов
Чтобы отключить гибкие типы узлов, задайте для значения пустую строку. Например:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": ""
}
}
Специальные параметры политики для выбора среды выполнения Databricks
Атрибут spark_version поддерживает специальные значения, которые динамически сопоставляются с версией Databricks Runtime на основе текущего набора поддерживаемых версий Databricks Runtime.
Следующие значения можно использовать в атрибуте spark_version:
-
auto:latest: сопоставляется с последней общедоступной версией Databricks Runtime. -
auto:latest-ml: сопоставляется с последней версией Databricks Runtime ML. -
auto:latest-lts: сопоставляется с последней версией Databricks Runtime с долгосрочной поддержкой (LTS). -
auto:latest-lts-ml: отображает последнюю версию LTS Databricks Runtime ML. -
auto:prev-major: сопоставляется со второй последней версией среды выполнения GA Databricks. Например, еслиauto:latestравно 14.2,auto:prev-majorравно 13.3. -
auto:prev-major-ml: сопоставляется с предпоследней версией Databricks Runtime для машинного обучения. Например, еслиauto:latestравно 14.2,auto:prev-majorравно 13.3. -
auto:prev-lts: сопоставляется со второй последней версией среды выполнения LTS Databricks. Например, еслиauto:latest-ltsравно 13.3,auto:prev-ltsравно 12.2. -
auto:prev-lts-ml: сопоставляется с предпоследней версией среды выполнения ML LTS Databricks. Например, еслиauto:latest-ltsравно 13.3,auto:prev-ltsравно 12.2.
Заметка
Использование этих значений не приводит к автоматическому обновлению вычислительной среды при выпуске новой версии среды выполнения. Чтобы изменить версию среды выполнения Databricks, пользователь должен явно изменить настройки вычислений.
Поддерживаемые типы политик
В этом разделе содержится ссылка для каждого из доступных типов политик. Существует две категории типов политик: фиксированные политики и ограничения политик.
Фиксированные политики препятствуют настройке пользователей в атрибуте. Ниже перечислены два типа фиксированных политик:
Ограничение политик ограничивает параметры пользователя для настройки атрибута. Ограничения политик также позволяют задать значения по умолчанию и сделать атрибуты необязательными. См. дополнительные поля политики ограничения.
Возможные варианты ограничения политик:
- Политика списка разрешений
- политика блоклиста
- политика regex
- Политика диапазона
- политика без ограничений
Исправленная политика
Фиксированные политики ограничивают атрибут указанным значением. Для значений атрибутов, отличных от числовых и логических, значение должно быть представлено или преобразовано в строку.
С фиксированными политиками можно также скрыть атрибут из пользовательского интерфейса, установив для поля hidden значение true.
interface FixedPolicy {
type: "fixed";
value: string | number | boolean;
hidden?: boolean;
}
В этом примере политика исправляет версию среды выполнения Databricks и скрывает поле из пользовательского интерфейса пользователя:
{
"spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}
Запрещенная политика
Запрещенная политика запрещает пользователям настраивать атрибут. Запрещенные политики совместимы только с необязательными атрибутами.
interface ForbiddenPolicy {
type: "forbidden";
}
Эта политика запрещает присоединение пулов к вычислениям для рабочих узлов. Также запрещены пулы для узла драйвера, так как узел driver_instance_pool_id наследует политику.
{
"instance_pool_id": { "type": "forbidden" }
}
политика списка разрешений
Политика списка разрешений указывает список значений, которые пользователь может выбрать при настройке атрибута.
interface AllowlistPolicy {
type: "allowlist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Этот пример списка разрешений позволяет пользователю выбирать две версии среды выполнения Databricks:
{
"spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}
Принуждение пользователей выбрать значение из списка допустимых значений
Если значение по умолчанию для политики разрешенного списка не задано, пользовательский интерфейс по умолчанию использует первое значение в списке разрешений. Чтобы принудить пользователя вручную выбрать значение, задайте для значения по умолчанию недопустимое значение. Например: defaultValue?: "SELECT A VALUE";.
политика списка блокировки
Политика блокировки перечисляет запрещенные значения. Так как значения должны быть точными совпадениями, эта политика может не работать должным образом, если атрибут нестрогий в отношении представления значения (например, разрешает начальные и конечные пробелы).
interface BlocklistPolicy {
type: "blocklist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
В этом примере пользователь блокирует выбор 7.3.x-scala2.12 в качестве среды выполнения Databricks.
{
"spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}
Политика Regex
Политика регулярных выражений ограничивает доступные значения до тех, которые соответствуют регулярному выражению. Для безопасности убедитесь, что regex привязан к началу и концу строкового значения.
interface RegexPolicy {
type: "regex";
pattern: string;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
В этом примере ограничивается выбор версий Среды выполнения Databricks, доступных пользователю.
{
"spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}
политика диапазона
Политика диапазона ограничивает значение заданного диапазона с помощью полей minValue и maxValue. Значение должно быть десятичным числом.
Числовые ограничения должны представляться как двойное значение с плавающей запятой. Чтобы указать отсутствие определенного ограничения, можно пропустить либо minValue, либо maxValue.
interface RangePolicy {
type: "range";
minValue?: number;
maxValue?: number;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
В этом примере максимальное количество работников ограничено до 10.
{
"num_workers": { "type": "range", "maxValue": 10 }
}
Неограниченная политика
Неограниченная политика используется для создания обязательных атрибутов или задания значения по умолчанию в пользовательском интерфейсе.
interface UnlimitedPolicy {
type: "unlimited";
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
В этом примере тег COST_BUCKET добавляется к вычислительным процессам:
{
"custom_tags.COST_BUCKET": { "type": "unlimited" }
}
Чтобы задать значение по умолчанию для переменной конфигурации Spark, но также разрешить пропускать (удалять) его:
{
"spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}
дополнительные параметры политики ограничения
Для ограничения типов политик можно указать два дополнительных поля:
-
defaultValue— значение, которое автоматически заполняется в интерфейсе создания вычислений. -
isOptional— политика ограничения атрибута автоматически делает его обязательным. Чтобы сделать атрибут необязательным, задайте для поляisOptionalзначениеtrue.
Заметка
Значения по умолчанию не применяются автоматически к вычислениям, созданным с помощью API кластеров. Чтобы применить значения по умолчанию с помощью API, добавьте параметр apply_policy_default_values в определение вычислений и задайте для него значение true.
В этом примере политика указывает значение по умолчанию id1 для пула рабочих узлов, но делает его необязательным. При создании вычислений можно выбрать другой пул или не использовать его. Если driver_instance_pool_id не определен в политике или при создании вычислительных ресурсов, для рабочих узлов и узла драйвера используется один и тот же пул.
{
"instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}
Написание политик для атрибутов массива
Политики атрибутов массива можно указать двумя способами:
- Универсальные ограничения для всех элементов массива. Эти ограничения используют подстановочный символ
*в пути политики. - Определенные ограничения для элемента массива по определенному индексу. Эти ограничения используют число в пути.
Заметка
Атрибуты гибких типов узлов (worker_node_type_flexibility.alternate_node_type_ids и driver_node_type_flexibility.alternate_node_type_ids) являются полями типа массива в API кластеров, но они не соответствуют шаблону подстановочного или индексированного пути, описанного здесь. Для этих атрибутов требуется одно правило политики, указывающее полный список в виде строки, разделенной запятыми. Дополнительные сведения см. в разделе "Гибкие типы узлов ".
Например, для атрибута массива init_scriptsуниверсальные пути начинаются с init_scripts.* и конкретных путей с init_scripts.<n>, где <n> является целым индексом в массиве (начиная с 0).
Вы можете объединить универсальные и конкретные ограничения, в этом случае универсальные ограничения применяются к каждому элементу массива, который не имеет определенного ограничения. В каждом случае применяется только одно ограничение политики.
В следующих разделах показаны примеры распространенных примеров, использующих атрибуты массива.
Требовать записи, специфически связанные с инклюзивностью
Нельзя требовать определенные значения, не указывая порядок. Например:
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<required-script-2>"
}
}
Требовать фиксированное значение всего списка
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Запретить использование полностью
{
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Разрешить записи, которые соответствуют определенному ограничению
{
"init_scripts.*.volumes.destination": {
"type": "regex",
"pattern": ".*<required-content>.*"
}
}
Исправление определенного набора скриптов инициализации
В случае init_scripts путей массив может содержать одну из нескольких структур, для которых может потребоваться обрабатывать все возможные варианты в зависимости от варианта использования. Например, чтобы требовать определенный набор скриптов инициализации и запретить любой вариант другой версии, можно использовать следующий шаблон:
{
"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"
}
}
Примеры политик
В этом разделе приведены примеры политик, которые можно использовать в качестве ссылок для создания собственных политик. Вы также можете использовать семейства политик Azure Databricks, предоставленные в качестве шаблонов для распространенных вариантов использования политик.
- Общая политика вычислений
- Определение ограничений для вычислений декларативных конвейеров Spark Lakeflow
- простая политика средней сложности
- политика, касающаяся только работы
- политика внешнего хранилища метаданных
- Предотвращение использования вычислительных ресурсов в заданиях
- Удаление политики автомасштабирования
- принудительное применение пользовательских тегов
Общая политика вычислений
Политика вычислений общего назначения предназначена для руководства пользователей и ограничения некоторых функций, при этом требуется теги, ограничение максимального количества экземпляров и принудительное время ожидания.
{
"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"
}
}
Определение ограничений для вычислений декларативных конвейеров Spark Lakeflow
Заметка
При использовании политик для настройки вычислительных ресурсов Декларативных потоков Spark Lakeflow, Databricks рекомендует применять одну политику как к default, так и к maintenance расчетным ресурсам.
Чтобы настроить политику для вычислительных операций в конвейере, создайте политику с полем cluster_type, установленным на dlt. В следующем примере создается минимальная политика для вычислений Декларативных конвейеров Spark Lakeflow:
{
"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
}
}
Простой и среднего размера полис
Позволяет пользователям создавать вычислительные ресурсы среднего размера с минимальной конфигурацией. Единственным обязательным полем при создании является имя вычислительного ресурса; остальные поля заданы по умолчанию и скрыты.
{
"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"
}
}
Политика, применяемая только к заданиям
Позволяет пользователям создавать вычисления заданий для выполнения заданий. Пользователи не могут создавать вычислительные ресурсы всех целей с помощью этой политики.
{
"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"
}
}
Политика внешнего хранилища метаданных
Позволяет пользователям создавать вычислительные ресурсы с уже подключенным хранилищем метаданных, определенным администратором. Это полезно, чтобы пользователи могли создавать собственные вычислительные ресурсы без дополнительной настройки.
{
"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>"
}
}
Предотвратить использование вычислений для заданий
Эта политика запрещает пользователям использовать вычислительные ресурсы для выполнения заданий. Пользователи смогут использовать вычисления только с ноутбуками.
{
"workload_type.clients.notebooks": {
"type": "fixed",
"value": true
},
"workload_type.clients.jobs": {
"type": "fixed",
"value": false
}
}
Удаление политики автомасштабирования
Данное правило деактивирует автомасштабирование и позволяет пользователю задать количество рабочих в заданном диапазоне.
{
"num_workers": {
"type": "range",
"maxValue": 25,
"minValue": 1,
"defaultValue": 5
}
}
Принудительное применение пользовательских тегов
Чтобы добавить правило тега вычислений в политику, используйте атрибут custom_tags.<tag-name>.
Например, любой пользователь, использующий эту политику, должен заполнить тег COST_CENTER с 9999, 9921 или 9531 для запуска вычислений:
{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }