Freigeben über


Berechnungsrichtlinienreferenz

Dieser Artikel ist eine Referenz für Berechnungsrichtliniendefinitionen. Die Artikel enthalten einen Verweis auf die verfügbaren Richtlinienattribute und Einschränkungstypen. Es gibt auch Beispielrichtlinien, auf die Sie für häufige Anwendungsfälle verweisen können.

Was sind Richtliniendefinitionen?

Richtliniendefinitionen sind einzelne Richtlinienregeln, die in JSON ausgedrückt werden. Eine Definition kann einer der Attribute, die mit der Cluster-APIgesteuert werden, eine Regel hinzufügen. Diese Definitionen legen beispielsweise eine Standardzeit für die Autoterminierung fest, verbieten Benutzern die Verwendung von Pools und erzwingen die Verwendung von Photon:

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

Pro Attribut kann nur eine Einschränkung vorhanden sein. Der Pfad eines Attributs spiegelt den API-Attributnamen wider. Bei geschachtelten Attributen verkettet der Pfad die geschachtelten Attributnamen mithilfe von Punkten. Attribute, die in einer Richtliniendefinition nicht definiert sind, sind nicht beschränkt.

Unterstützte Attribute

Richtlinien unterstützen alle Attribute, die mit der Cluster-APIgesteuert werden. Die Art der Einschränkungen, die Sie auf Attributen platzieren können, kann je nach Einstellung je nach Typ und Verhältnis zu den UI-Elementen variieren. Sie können keine Richtlinien verwenden, um Computeberechtigungen zu definieren.

Sie können auch Richtlinien verwenden, um die maximalen DBUs pro Stunde und Clustertyp festzulegen. Siehe Pfade für virtuelle Attribute.

In der folgenden Tabelle sind die unterstützten Attributpfade für Clusterrichtlinien aufgeführt:

Attributpfad Typ BESCHREIBUNG
autoscale.max_workers optionale Zahl Wenn diese Option ausgeblendet ist, wird das Feld für die maximale Arbeitszahl aus der Benutzeroberfläche entfernt.
autoscale.min_workers optionale Zahl Wenn sie ausgeblendet ist, wird das Mindestarbeitsnummernfeld aus der Benutzeroberfläche entfernt.
autotermination_minutes number Ein Wert von 0 stellt keine automatische Beendigung dar. Wenn sie ausgeblendet ist, wird das Kontrollkästchen für die automatische Beendigung und die Werteingabe von der Benutzeroberfläche entfernt.
azure_attributes.availability Schnur Steuert, ob die Computeressource bedarfsgesteuerte Instanzen oder Spot-Instanzen verwendet (ON_DEMAND_AZURE oder SPOT_WITH_FALLBACK_AZURE).
azure_attributes.first_on_demand Nummer Steuert die Anzahl der Knoten, die in bedarfsgesteuerten Instanzen platziert werden sollen.
azure_attributes.spot_bid_max_price number Steuert den maximalen Preis für Azure Spot-Instanzen.
cluster_log_conf.path Schnur Die Ziel-URL der Protokolldateien.
cluster_log_conf.type Schnur Der Typ des Protokollziels. DBFS und VOLUMES sind die einzigen zulässigen Werte.
cluster_name Schnur Der Clustername.
custom_tags.* Schnur Steuern Sie bestimmte Tagwerte, indem Sie den Tagnamen anfügen, z. B.: custom_tags.<mytag>.
data_security_mode Schnur Legt den Zugriffsmodus des Clusters fest. Unity Catalog erfordert SINGLE_USER oder USER_ISOLATION (Standard--Zugriffsmodus in der Benutzeroberfläche). Ein Wert von NONE bedeutet, dass keine Sicherheitsfeatures aktiviert sind.
docker_image.basic_auth.password Schnur Das Kennwort für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.basic_auth.username Schnur Der Benutzername für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.url Schnur Steuert die Image-URL der Databricks-Containerdienste. Wenn sie ausgeblendet ist, wird der Abschnitt "Databricks Container Services" aus der Benutzeroberfläche entfernt.
driver_node_type_id optionale Zeichenfolge Wenn sie ausgeblendet ist, wird die Auswahl des Treiberknotentyps aus der Benutzeroberfläche entfernt.
enable_local_disk_encryption Boolesch Setzen Sie true, um die Verschlüsselung der Datenträger zu aktivieren, oder false, um sie zu deaktivieren, für Datenträger, die lokal an den Cluster angehängt sind (wie über die API angegeben).
init_scripts.*.workspace.destinationinit_scripts.*.volumes.destinationinit_scripts.*.abfss.destinationinit_scripts.*.file.destination Schnur * bezieht sich auf den Index des Init-Skripts im Attributarray. Siehe Schreiben von Richtlinien für Arrayattribute.
instance_pool_id Schnur Wenn driver_instance_pool_id ebenfalls definiert ist, steuert dieses Attribut den Pool, der von Workerknoten verwendet wird. Andernfalls wird der Pool für alle Clusterknoten definiert. Wenn Sie Pools für Arbeitsknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Wenn sie ausgeblendet ist, wird die Poolauswahl aus der Benutzeroberfläche entfernt.
driver_instance_pool_id Schnur Wenn angegeben, konfiguriert er einen anderen Pool für den Fahrerknoten als für die Arbeitsknoten. Ohne Angabe wird instance_pool_id geerbt. Wenn Sie Pools für Arbeitsknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Wenn sie ausgeblendet ist, wird die Treiberpoolauswahl aus der Benutzeroberfläche entfernt.
node_type_id Schnur Wenn sie ausgeblendet ist, wird die Auswahl des Arbeitsknotentyps aus der Benutzeroberfläche entfernt.
num_workers optionale Zahl Wenn sie ausgeblendet ist, wird die Arbeitsnummernspezifikation aus der Benutzeroberfläche entfernt.
runtime_engine Schnur Bestimmt, ob der Cluster Photon verwendet oder nicht. Mögliche Werte sind PHOTON oder STANDARD.
single_user_name Schnur Steuert, welche Benutzer oder Gruppen der Computeressource zugewiesen werden können.
spark_conf.* optionale Zeichenfolge Steuert bestimmte Konfigurationswerte durch Anfügen des Konfigurationsschlüsselnamens, z. B. spark_conf.spark.executor.memory.
spark_env_vars.* optionale Zeichenfolge Steuert bestimmte Variablenwerte der Spark-Umgebung, indem die Umgebungsvariable angefügt wird, z. B. spark_env_vars.<environment variable name>.
spark_version Schnur Der Name der Spark-Image-Version, wie über die API (Databricks Runtime) angegeben. Sie können auch spezielle Richtlinienwerte verwenden, die die Databricks-Runtime dynamisch auswählen. Siehe Spezielle Richtlinienwerte für die Auswahl der Databricks Runtime.
workload_type.clients.jobs boolesch Definiert, ob die Computeressource für Aufträge verwendet werden kann. Siehe Verhindern der Verwendung von Compute für Aufträge.
workload_type.clients.notebooks boolesch Definiert, ob die Computeressource mit Notizbüchern verwendet werden kann. Siehe Verhindern der Verwendung von Compute für Aufträge.

Pfade für virtuelle Attribute

Diese Tabelle enthält zwei zusätzliche synthetische Attribute, die von Richtlinien unterstützt werden:

Attributpfad Typ BESCHREIBUNG
dbus_per_hour Nummer Berechnetes Attribut, das die maximalen DBUs darstellt, die eine Ressource stündlich verwenden kann, einschließlich des Treiberknotens. Diese Metrik ist eine direkte Möglichkeit zum Steuern der Kosten auf der einzelnen Computeebene. Mit Bereichseinschränkung verwenden.
cluster_type Schnur Stellt den Typ des Clusters dar, der erstellt werden kann:
  • all-purpose für All-Purpose Compute in Azure Databricks
  • job für die vom Auftragsplaner erstellte Jobs Compute-Instanz
  • dlt für die für DLT-Pipelines erstellte Computeressource

Zulassen oder Blockieren, dass die angegebenen Computetypen über die Richtlinie erstellt werden. Wenn der Wert all-purpose nicht zulässig ist, wird die Richtlinie im Formular zur Erstellung von Benutzeroberflächen zur Berechnung nicht angezeigt. Wenn der job-Wert nicht zulässig ist, wird die Richtlinie nicht in der Benutzeroberfläche zum Jobs Compute angezeigt.

Spezielle Richtlinienwerte für die Auswahl der Databricks-Runtime

Das spark_version-Attribut unterstützt spezielle Werte, die dynamisch einer Databricks-Runtime-Version basierend auf dem aktuellen Satz unterstützter Databricks-Runtime-Versionen zugeordnet werden.

Die folgenden Werte können im attribut spark_version verwendet werden:

  • auto:latest: Ordnet die neueste GA Databricks Runtime-Version zu.
  • auto:latest-ml: Ordnet die neueste Databricks Runtime ML-Version zu.
  • auto:latest-lts: Ordnet die neueste langfristige Support (LTS)-Databricks Runtime-Version zu.
  • auto:latest-lts-ml: Verweist auf die neueste LTS Databricks Runtime ML-Version.
  • auto:prev-major: Ordnet die zweitneueste GA Databricks Runtime-Version zu. Wenn auto:latest beispielsweise 14.2 ist, ist auto:prev-major 13,3.
  • auto:prev-major-ml: Ordnet die zweitneueste GA Databricks Runtime ML-Version zu. Wenn auto:latest beispielsweise 14.2 ist, ist auto:prev-major 13,3.
  • auto:prev-lts: Ordnet die zweitneueste LTS Databricks Runtime-Version zu. Wenn auto:latest-lts beispielsweise 13.3 ist, ist auto:prev-lts 12,2.
  • auto:prev-lts-ml: Ordnet die zweitneueste LTS Databricks Runtime ML-Version zu. Wenn auto:latest-lts beispielsweise 13.3 ist, ist auto:prev-lts 12,2.

Hinweis

Wenn Sie diese Werte verwenden, wird die Berechnung nicht automatisch aktualisiert, wenn eine neue Laufzeitversion veröffentlicht wird. Eine benutzende Person muss die Computeressource für die Databricks Runtime-Version explizit bearbeiten, um diese zu ändern.

Unterstützte Richtlinientypen

Dieser Abschnitt enthält einen Verweis für jeden der verfügbaren Richtlinientypen. Es gibt zwei Kategorien von Richtlinientypen: feste Richtlinien und einschränkende Richtlinien.

Feste Richtlinien verhindern die Benutzerkonfiguration für ein Attribut. Die beiden Typen von festen Richtlinien sind:

Das Einschränken von Richtlinien beschränkt die Optionen eines Benutzers zum Konfigurieren eines Attributs. Durch das Einschränken von Richtlinien können Sie auch Standardwerte festlegen und Attribute optional machen. Siehe Zusätzliche Einschränkungsrichtlinienfelder.

Ihre Optionen zum Einschränken von Richtlinien sind:

Feste Richtlinie

Feste Richtlinien beschränken das Attribut auf den angegebenen Wert. Bei anderen Attributwerten als numerischen und booleschen Werten muss der Wert durch eine Zeichenfolge dargestellt oder in eine Zeichenfolge konvertiert werden.

Mit festen Richtlinien können Sie das Attribut auch auf der Benutzeroberfläche ausblenden, indem Sie das feld hidden auf truefestlegen.

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

Diese Beispielrichtlinie legt die Databricks-Runtime-Version fest und blendet das Feld aus der Benutzeroberfläche aus.

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

Verbotene Richtlinie

Eine verbotene Richtlinie verhindert, dass Benutzer ein Attribut konfigurieren. Verbotene Richtlinien sind nur mit optionalen Attributen kompatibel.

interface ForbiddenPolicy {
    type: "forbidden";
}

Mit dieser Richtlinie wird das Anfügen von Pools an die Berechnungen für Workerknoten untersagt. Pools sind auch für den Treiberknoten verboten, da driver_instance_pool_id die Richtlinie erbt.

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

Positivliste-Richtlinie

Eine Zulassungsliste gibt eine Liste der Werte an, die der Benutzer beim Konfigurieren eines Attributs auswählen kann.

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

In diesem Beispiel für eine Zulassungsliste kann der Benutzer zwischen zwei Databricks-Runtime-Versionen auswählen:

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

Blockliste-Richtlinie

Die Blocklistenrichtlinie listet unzulässige Werte auf. Da die Werte exakt übereinstimmen müssen, funktioniert diese Richtlinie möglicherweise nicht wie erwartet, wenn das Attribut in der Darstellung des Wertes nachlässig ist (z. B. indem führende und nachgestellte Leerzeichen erlaubt werden).

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

In diesem Beispiel wird verhindert, dass der Benutzer 7.3.x-scala2.12 als Databricks-Runtime auswählt.

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

RegEx-Richtlinie

Eine regex-Richtlinie beschränkt die verfügbaren Werte auf diejenigen, die dem regex entsprechen. Stellen Sie sicher, dass Ihr regulärer Ausdruck am Anfang und Ende des Zeichenfolgenwerts verankert ist.

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

In diesem Beispiel werden die Databricks-Runtime-Versionen beschränkt, aus der ein Benutzer auswählen kann:

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

Bereichsrichtlinie

Eine Bereichsrichtlinie beschränkt den Wert auf einen angegebenen Bereich mithilfe der Felder minValue und maxValue. Der Wert muss eine Dezimalzahl sein. Die numerischen Grenzwerte müssen als doppelter Gleitkommawert dargestellt werden. Um das Fehlen eines bestimmten Grenzwerts anzuzeigen, können Sie entweder minValue oder maxValueweglassen.

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

In diesem Beispiel wird die maximale Anzahl von Mitarbeitern auf 10 beschränkt:

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

Unbeschränkte Richtlinie

Die unbegrenzte Richtlinie wird verwendet, um Attribute erforderlich zu machen oder den Standardwert in der Benutzeroberfläche festzulegen.

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

In diesem Beispiel wird dem Computer das COST_BUCKET-Tag hinzugefügt.

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

So legen Sie einen Standardwert für eine Spark-Konfigurationsvariable fest, lassen aber auch das Auslassen (Entfernen) zu:

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

Zusätzliche Felder für Einschränkungsrichtlinien

Zum Einschränken von Richtlinientypen können Sie zwei zusätzliche Felder angeben:

  • defaultValue: Der Wert, der automatisch auf der Benutzeroberfläche zur Computeerstellung aufgefüllt wird.
  • isOptional – Eine Einschränkungsrichtlinie für ein Attribut macht sie automatisch erforderlich. Um das Attribut optional zu machen, legen Sie das feld isOptional auf truefest.

Hinweis

Standardwerte werden nicht automatisch auf die Berechnung angewendet, die mit der Cluster-APIerstellt wurde. Um Standardwerte mithilfe der API anzuwenden, fügen Sie den Parameter apply_policy_default_values zur Computedefinition hinzu, und legen Sie ihn auf truefest.

In dieser Beispielrichtlinie ist der Standardwert id1 für den Pool für Workerknoten angegeben, jedoch als optional festgelegt. Beim Erstellen der Berechnung können Sie einen anderen Pool auswählen bzw. festlegen, dass kein Pool verwendet wird. Wenn driver_instance_pool_id nicht in der Richtlinie oder beim Erstellen der Berechnung definiert ist, wird derselbe Pool für Arbeitsknoten und den Treiberknoten verwendet.

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

Schreiben von Richtlinien für Arrayattribute

Sie können Richtlinien für Arrayattribute auf zwei Arten angeben:

  • Allgemeine Einschränkungen für alle Arrayelemente. Für diese Einschränkungen wird das Platzhaltersymbol * im Richtlinienpfad verwendet.
  • Spezifische Einschränkungen für ein Arrayelement bei einem bestimmten Index. Für diese Einschränkung wird eine Zahl im Pfad verwendet.

Zum Beispiel beginnen bei dem Array-Attribut init_scriptsdie generischen Pfade mit init_scripts.* und die spezifischen Pfade mit init_scripts.<n>, wobei <n> ein ganzzahliger Index im Array ist (beginnend bei 0). Sie können generische und spezifische Einschränkungen kombinieren, in diesem Fall gilt die generische Einschränkung für jedes Arrayelement, das keine bestimmte Einschränkung hat. Nur eine Richtlinienbeschränkung gilt jeweils.

In den folgenden Abschnitten finden Sie Beispiele für allgemeine Beispiele, in denen Arrayattribute verwendet werden.

Voraussetzen einschlussspezifischer Einträge

Sie können keine bestimmten Werte benötigen, ohne die Reihenfolge anzugeben. Beispiel:

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

Erfordern eines festen Werts für die gesamte Liste

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

Die Nutzung gänzlich untersagen

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

Zulassen von Einträgen, die einer bestimmten Einschränkung folgen

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

Korrigieren eines bestimmten Satzes von Init-Skripten

Bei init_scripts Pfaden kann das Array eine von mehreren Strukturen enthalten, für die je nach Anwendungsfall möglicherweise alle möglichen Varianten behandelt werden müssen. Wenn Sie z. B. einen bestimmten Satz von Init-Skripts anfordern möchten und eine beliebige Variante der anderen Version nicht zulassen möchten, können Sie das folgende Muster verwenden:

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

Richtlinienbeispiele

Dieser Abschnitt enthält Richtlinienbeispiele, die Sie als Verweise zum Erstellen eigener Richtlinien verwenden können. Sie können auch die von Azure Databricks bereitgestellten Richtlinienfamilien als Vorlagen für allgemeine Richtlinienanwendungsfälle verwenden.

Allgemeine Computerrichtlinie

Eine allgemeine Berechnungsrichtlinie, die benutzerleitet und einige Funktionen einschränkt, wobei Tags erforderlich sind, die maximale Anzahl von Instanzen eingeschränkt und Timeout erzwungen wird.

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

Definieren von Grenzwerten für die DLT-Pipelineberechnung

Hinweis

Wenn Sie Richtlinien zum Konfigurieren von DLT-Compute verwenden, empfiehlt Databricks, eine einzelne Richtlinie sowohl auf die default als auch auf maintenance Compute anzuwenden.

Um eine Richtlinie für eine Pipelinecomputeressource zu konfigurieren, erstellen Sie eine Richtlinie mit dem auf dlt festgelegten Feld cluster_type. Im folgenden Beispiel wird eine minimale Richtlinie für eine DLT-Berechnung erstellt:

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

Einfache mittlere Politik

Ermöglicht Benutzern das Erstellen einer mittelgroßen Berechnung mit minimaler Konfiguration. Bei der Erstellung ist der Berechnungsname das einzige erforderliche Feld. Die übrigen Felder sind feste oder verborgene Felder.

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

Richtlinie „Nur Aufträge“

Ermöglicht Benutzern das Erstellen eines Jobs Compute zum Ausführen von Aufträgen. Benutzer können mit dieser Richtlinie keinen All-Purpose Compute erstellen.

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

Richtlinie für externen Metastore

Ermöglicht Benutzern das Erstellen einer Berechnung mit einem von Administratoren definierten Metastore, der bereits angefügt ist. Dies ist nützlich, damit Benutzer ihre eigene Berechnung erstellen können, ohne dass zusätzliche Konfiguration erforderlich ist.

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

Verhindern der Verwendung von Compute für Aufträge

Diese Richtlinie verhindert, dass Benutzer die Berechnung zum Ausführen von Aufträgen verwenden. Benutzer können die Berechnung nur mit Notizbüchern verwenden.

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

Richtlinie zum Entfernen der automatischen Skalierung

Diese Richtlinie deaktiviert die automatische Skalierung und ermöglicht es dem Benutzer, die Anzahl der Mitarbeiter innerhalb eines bestimmten Bereichs festzulegen.

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

Erzwingung von benutzerdefinierten Tags

Verwenden Sie das attribut custom_tags.<tag-name>, um einer Richtlinie eine Computetagregel hinzuzufügen.

Beispielsweise muss jeder Benutzer, der diese Richtlinie verwendet, ein COST_CENTER Tag mit 9999, 9921 oder 9531 ausfüllen, damit die Berechnung gestartet wird:

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