Referenční příručka zásad výpočtů

Poznámka

Tato stránka používá příklady definic zásad JSON. Zásady můžete definovat pomocí JSON nebo použít uživatelské rozhraní výpočetní zásady ke konfiguraci definic zásad pomocí rozevíracích nabídek a dalších prvků uživatelského rozhraní.

Tato stránka je referencí pro definice zásad výpočetních prostředků, včetně seznamu dostupných atributů zásad a typů omezení. Existují také ukázkové zásady, na které můžete odkazovat pro běžné případy použití.

Co jsou definice zásad?

Definice zásad jsou jednotlivá pravidla zásad vyjádřená ve formátu JSON.

Definice může přidat pravidlo do libovolného atributu řízeného rozhraním Clusters API. Tyto definice například nastavují výchozí čas automatického ukončení, zakazují uživatelům používat pooly a vynucují používání Photonu:

{
  "autotermination_minutes": {
    "type": "unlimited",
    "defaultValue": 4320,
    "isOptional": true
  },
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "runtime_engine": {
    "type": "fixed",
    "value": "PHOTON",
    "hidden": true
  }
}

Pro každý atribut může existovat pouze jedno omezení. Cesta atributu odráží název atributu rozhraní API. U vnořených atributů cesta zřetězí názvy vnořených atributů pomocí tečkou. Atributy, které nejsou definovány v definici zásady, nebudou omezeny.

Konfigurace definic zásad pomocí prvků uživatelského rozhraní

Formulář zásad umožňuje konfigurovat definice zásad pomocí rozevíracích nabídek a dalších prvků uživatelského rozhraní. To znamená, že správci můžou psát zásady, aniž by se museli učit nebo odkazovat na syntaxi zásad.

Formulář také podporuje úpravu úplné definice zásady přímo ve formátu JSON. Úprava FORMÁTU JSON:

  • Kliknutím na tlačítko Upravit definici jako JSONv částiUpřesnit možnosti definice otevřete editor JSON.
  • Kliknutím na kartu JSON zobrazíte json definice. Na této kartě můžete také kliknout na Upravit definici jako JSON a otevřít editor.

Kromě toho je možné do pole Vlastní JSON přidat jednotlivá pravidla JSON v části Upřesnit možnosti.

Formulář nové výpočetní politiky

Známá omezení při použití nového formuláře zásad

Pokud nejsou zásady podporovány novým formulářem výpočetních zásad, všechny nekompatibilní definice se zobrazí ve vlastním poli JSON v části Upřesnit možnosti. Pro níže uvedená pole jsou podporována pouze podmnožina platných zásad:

  • workload_type: Zásady musí definovat obě workload_type.clients.notebooks a workload_type.clients.jobs. Každé z těchto pravidel musí být nastaveno na buď true nebo false.
  • dbus_per_hour: Podporují se pouze zásady rozsahu, které určují maxValue a nezadávají minValue .
  • ssh_public_keys: Podporují se jenom pevné zásady. Zásady ssh_public_keys nesmí přeskočit žádné indexy. Například ssh_public_keys.0, ssh_public_keys.1ssh_public_keys.2 je platný, ale ssh_public_keys.0ssh_public_keys.2, ssh_public_keys.3 není platný.
  • cluster_log_conf: Nemůže cluster_log_conf.path to být seznam povolených nebo blokovaných položek.
  • init_scripts: Indexované zásady (tj init_scripts.0.volumes.destination. ) musí být opravené. Zásady se zástupným znakem, tedy init_scripts.*.volumes.destination, musí být zakázány. Indexované politiky nesmí přeskočit žádné indexy.

podporované atributy

Zásady podporují všechny atributy řízené rozhraním API clusterů . Typ omezení, která můžete umístit na atributy, se může lišit v závislosti na jejich typu a vztahu k prvkům uživatelského rozhraní. Zásady nelze použít k definování výpočetních oprávnění.

Zásady můžete použít také k nastavení maximálního počtu jednotek DBU za hodinu a typ clusteru. Viz cesty k virtuálním atributům.

Následující tabulka uvádí podporované cesty atributů zásad:

Cesta k atributu Typ Popis
autoscale.max_workers volitelné číslo Pokud je pole maximálního počtu pracovních procesů skryté, odebere z uživatelského rozhraní pole maximálního počtu pracovních procesů.
autoscale.min_workers volitelné číslo Je-li skryté, odebere z uživatelského rozhraní pole s minimálním počtem pracovníků.
autotermination_minutes číslo Hodnota 0 představuje žádné automatické ukončení. Při skrytí odebere z uživatelského rozhraní políčko pro automatické ukončení a pole pro zadání hodnoty.
azure_attributes.availability řetězec Určuje, jestli využití výpočetních prostředků používá instance na vyžádání nebo spotové instance (SPOT_AZURE, ON_DEMAND_AZUREnebo SPOT_WITH_FALLBACK_AZURE).
azure_attributes.first_on_demand číslo Určuje, kolik uzlů clusteru používá instance na vyžádání, počínaje uzlem ovladače. Například hodnota 1 nastaví uzel ovladače na vyžádání. Hodnota 2 nastaví řídicí uzel a jeden pracovní uzel na vyžádání.
azure_attributes.spot_bid_max_price číslo Určuje maximální cenu spotových instancí Azure.
cluster_log_conf.path řetězec Cílová adresa URL souborů protokolu.
cluster_log_conf.type řetězec Typ cíle protokolu. DBFS a VOLUMES jsou jediné přijatelné hodnoty.
cluster_name řetězec Název clusteru.
custom_tags.* řetězec Hodnoty konkrétních značek můžete řídit připojením názvu značky, například: custom_tags.<mytag>.
data_security_mode řetězec Nastaví režim přístupu clusteru. Katalog Unity vyžaduje SINGLE_USER nebo USER_ISOLATION (režim přístupuStandard v uživatelském rozhraní). Hodnota NONE znamená, že nejsou povolené žádné funkce zabezpečení.
docker_image.basic_auth.password řetězec Heslo pro základní ověřování obrazu služby Databricks Container Services
docker_image.basic_auth.username řetězec Uživatelské jméno pro základní ověřování obrazu Databricks Container Services.
docker_image.url řetězec Ovládá URL adresu obrázku služby Databricks Container Services. Pokud je tato možnost skrytá, odebere část Databricks Container Services z uživatelského rozhraní.
driver_node_type_id volitelný řetězec Pokud je skrytý, odebere výběr typu uzlu ovladače z uživatelského rozhraní.
driver_node_type_flexibility.alternate_node_type_ids řetězec Určuje alternativní typy uzlů pro uzel ovladače. Podporují se jenom pevné zásady. Viz typy flexibilních uzlů.
enable_local_disk_encryption booleovský Nastavte na true povolit nebo false zakázat šifrování disků, které jsou místně připojené ke clusteru (jak je uvedeno prostřednictvím rozhraní API).
init_scripts.*.workspace.destination init_scripts.*.volumes.destination init_scripts.*.abfss.destination init_scripts.*.file.destination řetězec * odkazuje na index inicializačního skriptu v poli atributů. Viz Zásady zápisu pro atributy pole.
instance_pool_id řetězec Řídí fond používaný pracovními uzly, pokud je definován také driver_instance_pool_id, nebo jinak pro všechny uzly clusteru. Pokud používáte fondy pro pracovní uzly, musíte také použít fondy pro uzel ovladače. Pokud je skrytý, odebere výběr poolu z uživatelského rozhraní.
driver_instance_pool_id řetězec Pokud je zadaný, nakonfiguruje pro uzel ovladače jiný fond než pro pracovní uzly. Pokud není zadáno, dědí instance_pool_id. Pokud používáte fondy pro pracovní uzly, musíte také použít fondy pro uzel ovladače. Pokud je skrytý, odebere z uživatelského rozhraní výběr fondu ovladačů.
is_single_node booleovský Pokud je tato hodnota nastavená na true, musí být výpočet jedním uzlem. Tento atribut je podporován pouze v případě, že uživatel používá jednoduchý formulář.
node_type_id řetězec Pokud je tato možnost skrytá, odebere výběr typu pracovního uzlu z uživatelského rozhraní.
worker_node_type_flexibility.alternate_node_type_ids řetězec Určuje alternativní typy uzlů pro pracovní uzly. Podporují se jenom pevné zásady. Viz typy flexibilních uzlů.
num_workers volitelné číslo Pokud je skryté, odstraní z uživatelského rozhraní specifikaci čísla pracovníka.
runtime_engine řetězec Určuje, jestli cluster používá Photon, nebo ne. Možné hodnoty jsou PHOTON nebo STANDARD.
single_user_name řetězec Určuje, kteří uživatelé nebo skupiny je možné přiřadit k výpočetnímu prostředku.
spark_conf.* volitelný řetězec Řídí konkrétní hodnoty konfigurace připojením názvu konfiguračního klíče, například: spark_conf.spark.executor.memory.
spark_env_vars.* volitelný řetězec Kontroluje konkrétní hodnoty proměnných prostředí Spark přidáním hodnoty proměnné prostředí, například: spark_env_vars.<environment variable name>.
spark_version řetězec Název verze image Sparku zadaný prostřednictvím rozhraní API (Databricks Runtime). Můžete také použít speciální hodnoty politik, které dynamicky vyberou Databricks Runtime. Viz Speciální hodnoty zásad pro výběr Databricks Runtime.
use_ml_runtime booleovský Určuje, jestli se musí použít verze ML modulu Databricks Runtime. Tento atribut je podporován pouze v případě, že uživatel používá jednoduchý formulář.
workload_type.clients.jobs booleovský Definuje, jestli se výpočetní prostředek dá použít pro úlohy. Podívejte se na Zamezení použití výpočetních prostředků s úlohami.
workload_type.clients.notebooks booleovský Definuje, jestli se výpočetní prostředek dá použít s poznámkovými bloky. Podívejte se na Zamezení použití výpočetních prostředků s úlohami.

cesty virtuálních atributů

Tato tabulka obsahuje dva další syntetické atributy podporované zásadami. Pokud používáte nový formulář zásad, můžete tyto atributy nastavit v části Upřesnit možnosti .

Cesta k atributu Typ Popis
dbus_per_hour číslo Počítaný atribut představující maximální počet jednotek DBU, které může zdroj používat za hodinu, včetně řídicího uzlu. Tato metrika představuje přímý způsob řízení nákladů na úrovni jednotlivých výpočetních prostředků. Používejte s omezením rozsahu.
cluster_type řetězec Představuje typ clusteru, který lze vytvořit:
  • all-purpose pro výpočetní prostředky Azure Databricks pro všechny účely
  • job pro úlohu výpočtu vytvořenou plánovačem úloh
  • dlt pro výpočty vytvořené pro deklarativní kanály Sparku Lakeflow

Povolí nebo zablokuje vytvoření zadaných typů výpočtů z politiky. Pokud hodnota all-purpose není povolená, zásada se nezobrazí ve všestranném uživatelském rozhraní pro vytváření výpočetních úloh. Pokud hodnota job není povolená, politika se nezobrazí v uživatelském rozhraní pro vytvoření výpočetní úlohy.

Flexibilní typy uzlů

Atributy flexibilních typů uzlů umožňují zadat alternativní typy uzlů, které může výpočetní prostředek použít, pokud primární typ uzlu není k dispozici. Tyto atributy mají zvláštní požadavky zásad:

  • Podporují se jenom pevné zásady. Všechny ostatní typy zásad nejsou povoleny a budou odmítnuty při vytváření zásad.
  • Prázdný řetězec v politice se mapuje na prázdný seznam alternativních typů uzlů a efektivně deaktivuje flexibilní typy uzlů.

Oprava konkrétního seznamu typů uzlů

Na rozdíl od odpovídajících polí rozhraní API clusterů, která používají pole řetězců, používají atributy zásad výpočetních prostředků jednu řetězcovou hodnotu, která kóduje pole typů uzlů jako seznam oddělený čárkami. Například:

{
  "worker_node_type_flexibility.alternate_node_type_ids": {
    "type": "fixed",
    "value": "nodeA,nodeB"
  }
}

Pokud k vytvoření výpočetního prostředku s přiřazenou zásadou použijete rozhraní API clusterů, databricks doporučí nenastavovat worker_node_type_flexibility pole ani driver_node_type_flexibility pole. Pokud tato pole nastavíte, musí typy uzlů a pořadí pole přesně odpovídat čárkami oddělenému seznamu zásady, jinak nelze vytvořit výpočetní prostředky. Například definice zásad z výše uvedeného by byla nastavena takto:

"worker_node_type_flexibility": {
  "alternate_node_type_ids": ["nodeA", "nodeB"]
}

Zakázání flexibilních typů uzlů

Pokud chcete zakázat flexibilní typy uzlů, nastavte hodnotu na prázdný řetězec. Například:

{
  "worker_node_type_flexibility.alternate_node_type_ids": {
    "type": "fixed",
    "value": ""
  }
}

Speciální hodnoty zásad pro výběr Databricks Runtime

Atribut spark_version podporuje speciální hodnoty, které se dynamicky mapují na verzi Databricks Runtime na základě sady aktuálně podporovaných verzí Databricks Runtime.

V atributu spark_version lze použít následující hodnoty:

  • auto:latest: Mapuje na nejnovější verzi modulu GA Databricks Runtime.
  • auto:latest-ml: Odkazuje na nejnovější verzi Databricks Runtime ML.
  • auto:latest-lts: Odpovídá nejnovější verzi Databricks Runtime s dlouhodobou podporou (LTS).
  • auto:latest-lts-ml: Odpovídá nejnovější verzi LTS Databricks Runtime ML.
  • auto:prev-major: Odpovídá druhé nejnovější verzi obecně dostupného Databricks Runtime. Pokud je například auto:latest 14,2, auto:prev-major je 13,3.
  • auto:prev-major-ml: Odkazuje na druhou nejnovější GA verzi Databricks Runtime ML. Pokud je například auto:latest 14,2, auto:prev-major je 13,3.
  • auto:prev-lts: Odkazuje na verzi LTS Databricks Runtime, která je druhá nejnovější. Pokud je například auto:latest-lts 13,3, auto:prev-lts je 12,2.
  • auto:prev-lts-ml: Mapuje na druhou poslední verzi LTS Databricks Runtime ML. Pokud je například auto:latest-lts 13,3, auto:prev-lts je 12,2.

Poznámka

Při použití těchto hodnot nedojde k automatické aktualizaci výpočtů při vydání nové verze prostředí runtime. Uživatel musí explicitně upravit výpočet, aby se změnila verze Databricks Runtime.

Podporované typy zásad

Tato část obsahuje referenční informace pro každý z dostupných typů zásad. Existují dvě kategorie typů zásad: pevné zásady a omezení zásad.

Pevné zásady brání konfiguraci uživatele u atributu. Mezi dva typy pevných zásad patří:

Omezení zásad omezuje možnosti uživatele pro konfiguraci atributu. Omezení zásad také umožňuje nastavit výchozí hodnoty a nastavit atributy jako volitelné. Viz Další omezující pole politiky.

Možnosti omezení zásad jsou:

pevná politika

Pevné zásady omezují atribut na zadanou hodnotu. U hodnot atributů kromě číselných a logických hodnot musí být hodnota reprezentována nebo konvertibilní na řetězec.

S pevnými zásadami můžete také skrýt atribut z uživatelského rozhraní nastavením pole hidden na true.

interface FixedPolicy {
    type: "fixed";
    value: string | number | boolean;
    hidden?: boolean;
}

Tato ukázková zásada opravuje verzi databricks Runtime a skryje pole v uživatelském rozhraní uživatele:

{
  "spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}

Zakázaná politika

Zakázané zásady brání uživatelům v konfiguraci atributu. Zakázané zásady jsou kompatibilní pouze s volitelnými atributy.

interface ForbiddenPolicy {
    type: "forbidden";
}

Tato zásada zakazuje připojení fondů k výpočetnímu prostředí pro pracovní uzly. Pooly jsou také zakázány pro řídící uzel, protože driver_instance_pool_id dědí politiku.

{
  "instance_pool_id": { "type": "forbidden" }
}

zásady seznamu povolených

Zásada seznamu povolených určuje seznam hodnot, které si uživatel může vybrat při konfiguraci atributu.

interface AllowlistPolicy {
  type: "allowlist";
  values: (string | number | boolean)[];
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Tento příklad seznamu povolených umožňuje uživateli vybrat mezi dvěma verzemi Databricks Runtime:

{
  "spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}

Vynucení výběru hodnoty ze seznamu povolených uživatelů

Pokud pro zásadu seznamu povolených nenastavíte výchozí hodnotu, uživatelské rozhraní nastaví první hodnotu v seznamu povolených. Chcete-li vynutit, aby uživatel ručně vybral hodnotu, nastavte výchozí hodnotu na něco, co není platné. Například: defaultValue?: "SELECT A VALUE";.

zásady seznamu blokovaných položek

Zásady blokovaného seznamu uvádějí nepovolené hodnoty. Vzhledem k tomu, že hodnoty musí být přesné shody, nemusí tato zásada fungovat podle očekávání, pokud je atribut povolný ve způsobu, jakým je hodnota reprezentována (například povoluje úvodní a koncové mezery).

interface BlocklistPolicy {
  type: "blocklist";
  values: (string | number | boolean)[];
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Tento příklad uživateli zablokuje výběr 7.3.x-scala2.12 jako Databricks Runtime.

{
  "spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}

Zásady Regex

Zásady regulárních výrazů omezují dostupné hodnoty na ty, které odpovídají danému regulárnímu výrazu. V zájmu bezpečnosti se ujistěte, že regex je zakotven na začátku a na konci hodnoty řetězce.

interface RegexPolicy {
  type: "regex";
  pattern: string;
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Tento příklad omezuje verze Databricks Runtime, ze které si uživatel může vybrat:

{
  "spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}

zásady rozsahu

Zásady rozsahu omezují hodnotu na zadanou oblast pomocí polí minValue a maxValue. Hodnota musí být desetinné číslo. Číselné limity musí být vyjádřeny jako dvojitá hodnota s pohyblivou desetinnou čárkou. Chcete-li označit nedostatek konkrétního limitu, můžete vynechat minValue nebo maxValue.

interface RangePolicy {
  type: "range";
  minValue?: number;
  maxValue?: number;
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Tento příklad omezuje maximální počet pracovníků na 10:

{
  "num_workers": { "type": "range", "maxValue": 10 }
}

neomezená politika

Neomezené zásady slouží k vyžadování atributů nebo k nastavení výchozí hodnoty v uživatelském rozhraní.

interface UnlimitedPolicy {
  type: "unlimited";
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Tento příklad přidá značku COST_BUCKET k výpočtům:

{
  "custom_tags.COST_BUCKET": { "type": "unlimited" }
}

Pokud chcete nastavit výchozí hodnotu pro konfigurační proměnnou Sparku, ale také povolit vynechání (odebrání) této proměnné:

{
  "spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}

Další pole zásad omezení

Pro omezení typů zásad můžete zadat dvě další pole:

  • defaultValue – hodnota, která se automaticky vyplní v uživatelském rozhraní pro tvorbu výpočtů.
  • isOptional – Zásada omezení atributu automaticky vyžaduje. Pokud chcete atribut nastavit jako volitelný, nastavte pole isOptional na true.

Poznámka

Výchozí hodnoty se automaticky nepoužijí na výpočetní úlohy vytvořené pomocí rozhraní API klastrů. Pokud chcete použít výchozí hodnoty pomocí rozhraní API, přidejte parametr apply_policy_default_values do definice výpočetních prostředků a nastavte ho na true.

Tato ukázková zásada určuje výchozí hodnotu id1 pro fond pracovních uzlů, ale její použití je volitelné. Při vytváření výpočtů můžete vybrat jiný fond, nebo se rozhodnout žádný nepoužívat. Pokud driver_instance_pool_id není definován v politice nebo při vytváření výpočtu, použije se stejný fond pro pracovní uzly a řídící uzel.

{
  "instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}

Zásady zápisu pro atributy pole

Zásady pro atributy pole můžete zadat dvěma způsoby:

  • Obecná omezení pro všechny prvky pole Tato omezení používají symbol zástupných znaků * v cestě politiky.
  • Specifická omezení pro prvek pole na konkrétním indexu. Tato omezení používají číslo v cestě.

Poznámka

Atributy flexibilních typů uzlů (worker_node_type_flexibility.alternate_node_type_ids a driver_node_type_flexibility.alternate_node_type_ids) jsou pole typu polí v rozhraní API clusterů, ale nerespektují zde dokumentovaný vzor zástupné/indexované cesty. Tyto atributy vyžadují jedno pravidlo zásad, které určuje úplný seznam jako řetězec oddělený čárkami. Podrobnosti najdete v části Typy flexibilních uzlů .

Například u atributu pole init_scriptszačínají obecné cesty init_scripts.* a konkrétní cesty s init_scripts.<n>, kde <n> je celočíselné index v poli (počínaje 0). Můžete kombinovat obecná a specifická omezení, v takovém případě obecné omezení platí pro každý prvek pole, který nemá konkrétní omezení. V každém případě se použije pouze jedno omezení politiky.

Následující části ukazují příklady běžných příkladů, které používají atributy pole.

Vyžadování položek specifických pro zahrnutí

Bez zadání pořadí nelze vyžadovat konkrétní hodnoty. Například:

{
  "init_scripts.0.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-1>"
  },
  "init_scripts.1.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-2>"
  }
}

Vyžadovat pevnou hodnotu celého seznamu

{
  "init_scripts.0.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-1>"
  },
  "init_scripts.*.volumes.destination": {
    "type": "forbidden"
  }
}

Zcela zakázat použití

{
  "init_scripts.*.volumes.destination": {
    "type": "forbidden"
  }
}

Povolit položky, které se řídí určitým omezením

{
  "init_scripts.*.volumes.destination": {
    "type": "regex",
    "pattern": ".*<required-content>.*"
  }
}

Oprava konkrétní sady inicializačních skriptů

V případě init_scripts cest může pole obsahovat jednu z více struktur, pro které může být v závislosti na případu použití potřeba zpracovat všechny možné varianty. Pokud například chcete vyžadovat konkrétní sadu inicializačních skriptů a zakázat jakoukoli variantu jiné verze, můžete použít následující vzor:

{
  "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"
  }
}

Příklady zásad

Tato část obsahuje příklady zásad, které můžete použít jako odkazy na vytváření vlastních zásad. Jako šablony pro běžné případy použití zásad můžete použít také rodiny zásad poskytovaných službou Azure Databricks.

Obecné zásady pro výpočty

Zásady výpočetních prostředků pro obecné účely, které mají vést uživatele a omezit některé funkce, přičemž vyžadují značky, omezují maximální počet instancí a vynucují vypršení časového limitu.

{
  "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"
  }
}

Definování limitů výpočetních kanálů Spark deklarativních kanálů Lakeflow

Poznámka

Databricks doporučuje při použití zásad pro konfiguraci Lakeflow Spark Deklarativních Pipeline aplikovat jednu zásadu na oba výpočetní prostředky, default i maintenance.

Pro konfiguraci zásady pro výpočetní prostředí pipeline vytvořte zásadu s polem cluster_type nastaveným na dlt. Následující příklad vytvoří minimální zásadu pro výpočty deklarativních kanálů Sparku 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
  }
}

Jednoduchá středně velká politika

Umožňuje uživatelům vytvářet výpočetní prostředky střední velikosti s minimální konfigurací. Jediným požadovaným polem v době vytvoření je název výpočtu; zbytek je pevný a skrytý.

{
  "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"
  }
}

Zásady pouze pro úlohy

Umožňuje uživatelům vytvářet výpočetní prostředky pro spouštění úloh. Uživatelé nemůžou pomocí této zásady vytvářet výpočetní prostředky pro všechny účely.

{
  "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"
  }
}

Zásady externího metastoru

Umožňuje uživatelům vytvářet výpočetní prostředí s již připojeným metastorem, který je definován správcem. To je užitečné, když uživatelům umožníte vytvářet vlastní výpočetní prostředky bez nutnosti další konfigurace.

{
  "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>"
  }
}

Zabránit použití výpočetního výkonu pro úlohy

Tato zásada brání uživatelům v používání výpočetních prostředků ke spouštění úloh. Uživatelé budou moci používat výpočetní kapacitu pouze s notebooky.

{
  "workload_type.clients.notebooks": {
    "type": "fixed",
    "value": true
  },
  "workload_type.clients.jobs": {
    "type": "fixed",
    "value": false
  }
}

Odebrat zásady automatického škálování

Tato zásada zakáže automatické škálování a umožní uživateli nastavit počet pracovníků v určeném rozsahu.

{
  "num_workers": {
    "type": "range",
    "maxValue": 25,
    "minValue": 1,
    "defaultValue": 5
  }
}

vynucení vlastních značek

K přidání pravidla pro výpočetní značku do zásady použijte atribut custom_tags.<tag-name>.

Například každý uživatel, který používá tuto zásadu, musí vyplnit značku COST_CENTER kódem 9999, 9921 nebo 9531, aby se výpočetní prostředky spustily:

{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }