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äufig verwendete Anwendungsfälle verweisen können.

Was sind die Azure Policy-Definitionen?

Richtliniendefinitionen sind einzelne Richtlinienregeln, die in JSON ausgedrückt werden. Eine Definition kann einem der Attribute, die mit der Cluster-API gesteuert 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 festgelegt werden. 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-API gesteuert 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 Berechnungsberechtigungen 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 Type BESCHREIBUNG
autoscale.max_workers optionale Zahl Wird dieses Attribut ausgeblendet, wird das Feld für die maximale Anzahl von Workern von der Benutzeroberfläche entfernt.
autoscale.min_workers optionale Zahl Wird dieses Attribut ausgeblendet, wird das Feld für die Mindestanzahl von Workern von der Benutzeroberfläche entfernt.
autotermination_minutes number Der Wert 0 bedeutet, dass keine automatische Beendigung erfolgt. Wenn dieses Attribut ausgeblendet wird, werden das Kontrollkästchen für die automatische Beendigung und die Werteingabe von der Benutzeroberfläche entfernt.
azure_attributes.availability Zeichenfolge Steuert, ob die Computeressource bedarfsgesteuerte Instanzen oder Spot-Instanzen verwendet (ON_DEMAND_AZURE oder SPOT_WITH_FALLBACK_AZURE).
azure_attributes.first_on_demand Zahl Steuert die Anzahl der Knoten, die in bedarfsgesteuerten Instanzen platziert werden sollen.
azure_attributes.spot_bid_max_price Zahl Steuert den maximalen Preis für Azure-Spot-Instanzen.
cluster_log_conf.path Zeichenfolge Die Ziel-URL der Protokolldateien.
cluster_log_conf.type Zeichenfolge Der Typ des Protokollziels. DBFS ist der einzige zulässige Wert.
cluster_name Zeichenfolge Den Clusternamen.
custom_tags.* Zeichenfolge Steuern Sie bestimmte Tagwerte, indem Sie den Tagnamen anfügen, z. B.: custom_tags.<mytag>.
data_security_mode Zeichenfolge Legt den Zugriffsmodus des Clusters fest. Unity Catalog erfordert SINGLE_USER oder USER_ISOLATION (Zugriffsmodus „Freigegeben“ auf der Benutzeroberfläche). Der Wer NONE bedeutet, dass keine Sicherheitsfeatures aktiviert sind.
docker_image.basic_auth.password Zeichenfolge Das Kennwort für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.basic_auth.username Zeichenfolge Der Benutzername für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.url Zeichenfolge Steuert die Image-URL von Databricks Container Services. Ist dieses Attribut ausgeblendet, wird der Databricks Container Services-Abschnitt von der Benutzeroberfläche entfernt.
driver_node_type_id optionale Zeichenfolge Ist dieses Attribut ausgeblendet, wird die Auswahl des Treiberknotentyps von der Benutzeroberfläche entfernt.
enable_local_disk_encryption boolean Legen Sie diese Einstellung auf true oder auf false fest, um die Verschlüsselung von Datenträgern zu aktivieren bzw. zu deaktivieren, die lokal an den Cluster angefügt sind (gemäß Angabe über die API).
init_scripts.*.workspace.destination init_scripts.*.volumes.destination init_scripts.*.abfss.destination init_scripts.*.file.destination Zeichenfolge * verweist auf den Index des Initialisierungsskripts im Attributarray. Siehe Schreiben von Richtlinien für Arrayattribute.
instance_pool_id Zeichenfolge Wenn driver_instance_pool_id ebenfalls definiert ist, steuert dieses Attribut den Pool, der von Workerknoten verwendet wird. Anderenfalls wird der Pool für alle Clusterknoten definiert. Wenn Sie Pools für Workerknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Ist dieses Attribut ausgeblendet, wird die Poolauswahl von der Benutzeroberfläche entfernt.
driver_instance_pool_id Zeichenfolge Bei Angabe dieses Attributs wird für den Treiberknoten ein anderer Pool konfiguriert als für Workerknoten. Ohne Angabe wird instance_pool_id geerbt. Wenn Sie Pools für Workerknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Ist dieses Attribut ausgeblendet, wird die Treiberpoolauswahl von der Benutzeroberfläche entfernt.
node_type_id Zeichenfolge Ist dieses Attribut ausgeblendet, wird die Auswahl des Workerknotentyps von der Benutzeroberfläche entfernt.
num_workers optionale Zahl Ist dieses Attribut ausgeblendet, wird die Angabe der Workeranzahl von der Benutzeroberfläche entfernt.
runtime_engine Zeichenfolge Bestimmt, ob der Cluster Photon verwendet oder nicht. Mögliche Werte sind PHOTON und STANDARD.
single_user_name Zeichenfolge Der Benutzername für den Einzelbenutzerzugriff mit Passthrough-Anmeldeinformationen.
spark_conf.* optionale Zeichenfolge Steuert bestimmte Konfigurationswerte, indem der Name des Konfigurationsschlüssels angefügt wird, z. B.: spark_conf.spark.executor.memory.
spark_env_vars.* optionale Zeichenfolge Steuert bestimmte Werte von Spark-Umgebungsvariablen, indem die Umgebungsvariable angefügt wird, z. B.: spark_env_vars.<environment variable name>.
spark_version Zeichenfolge Der Name der Spark-Bildversion gemäß der Angabe über die API (die Databricks Runtime). Sie können auch spezielle Richtlinienwerte verwenden, welche die Databricks Runtime dynamisch auswählen. Siehe Spezielle Richtlinienwerte für die Auswahl der Databricks Runtime.
workload_type.clients.jobs boolean Definiert, ob die Computeressource für Aufträge verwendet werden kann. Weitere Informationen finden Sie unter Verhindern der Verwendung von Compute für Aufträge.
workload_type.clients.notebooks boolean Definiert, ob die Compute-Ressource für Notebooks verwendet werden kann. Weitere Informationen finden Sie unter 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 Type Beschreibung
dbus_per_hour Zahl Berechnetes Attribut, das die maximalen DBUs darstellt, die eine Ressource stündlich verwenden kann, einschließlich des Treiberknotens. Über diese Metrik lassen sich die Kosten auf Ebene einzelner Cluster direkt steuern. Verwenden Sie es mit Bereichsbeschränkung.
cluster_type Zeichenfolge Gibt den Typ von Cluster an, der erstellt werden kann:

- all-purpose für universelle Azure Databricks-Berechnungen
- job für die vom Auftragsplaner erstellte Auftragsberechnungen
- dlt für Berechnungen, die für Delta Live-Tabellenpipelines erstellt wurden

Zulassen oder Blockieren, dass die angegebenen Berechnungsarten ü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 zur Auftragsberechnung 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 der aktuellen Menge unterstützter Databricks Runtime-Versionen zugeordnet werden.

Die folgenden Werte können im spark_version-Attribut 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: Ordnet die neueste LTS Databricks Runtime ML-Version zu.
  • auto:prev-major: Ordnet die zweitneueste GA Databricks Runtime-Version zu. Wenn z. B auto:latest 14.2 ist, dann ist auto:prev-major 13.3.
  • auto:prev-major-ml: Ordnet die zweitneueste GA Databricks Runtime ML-Version zu. Wenn z. B auto:latest 14.2 ist, dann ist auto:prev-major 13.3.
  • auto:prev-lts: Ordnet die zweitneueste LTS Databricks Runtime-Version zu. Wenn z. B auto:latest-lts 13.3 ist, dann ist auto:prev-lts 12.2.
  • auto:prev-lts-ml: Ordnet die zweitneueste LTS Databricks Runtime ML-Version zu. Wenn z. B auto:latest-lts 13.3 ist, dann ist auto:prev-lts 12.2.

Hinweis

Die Verwendung dieser Werte führt nicht dazu, dass die Berechnung automatisch aktualisiert wird, wenn eine neue Laufzeitversion veröffentlicht wird. Ein Benutzer muss die Berechnung 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 Arten von festen Richtlinien sind:

Einschränkende Richtlinien beschränkt die Optionen eines Benutzers zum Konfigurieren eines Attributs. Durch einschränkende 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 oder booleschen Werten muss der Wert des Attributs durch eine Zeichenfolge dargestellt werden bzw. in eine Zeichenfolge konvertierbar sein.

Mit festen Richtlinien können Sie das Attribut auch auf der Benutzeroberfläche ausblenden, indem Sie das hidden-Feld auf true einstellen.

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

Diese Beispielrichtlinie behebt die Databricks-Runtime-Version und blendet das Feld aus der Benutzeroberfläche des Benutzers aus:

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

Unzulässige 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. Darüber hinaus sind Pools auch für den Treiberknoten unzulässig, da driver_instance_pool_id die Richtlinie erbt.

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

Allowlist-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" ] }
}

Blocklist-Richtlinie

Die Blocklistenrichtlinie listet unzulässige Werte auf. Da die Werte genau übereinstimmen müssen, funktioniert diese Richtlinie möglicherweise nicht wie erwartet, wenn das Attribut keine konkrete Vorgabe für die Darstellung des Werts umfasst (wenn z. B. vorstehende und nachfolgende Leerzeichen zulässig sind).

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 Richtlinie für reguläre Ausdrücke beschränkt die verfügbaren Werte auf diejenigen, die dem regulären Ausdruck 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 denen 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 können. Wenn ein bestimmter Grenzwert fehlen soll, können Sie minValue oder maxValue weglassen.

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 unbeschränkte 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 das COST_BUCKET-Tag zur Berechnung hinzugefügt:

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

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

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

Zusätzliche einschränkende Richtlinienfelder

In den einschränkenden Richtlinienarten können zwei zusätzliche Felder angegeben werden:

  • defaultValue – Der Wert, der automatisch in der erstellten Berechnungsbenutzeroberfläche aufgefüllt wird.
  • isOptional – Eine Einschränkungsrichtlinie für ein Attribut macht sie automatisch erforderlich. Wenn das Attribut als optional festgelegt werden soll, setzen Sie das Feld isOptional auf true.

Hinweis

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

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 in der Richtlinie nicht angegeben oder beim Erstellen der Berechnung nicht definiert wird, wird für Workerknoten und den Treiberknoten derselbe Pool 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:

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

Für das Arrayattribut init_scripts beginnen die generischen Pfade z. B. mit init_scripts.* und die spezifischen Pfade mit init_scripts.<n>. Dabei ist <n> ein ganzzahliger Index innerhalb des Arrays (beginnend mit 0). Sie können generische und spezifische Einschränkungen kombinieren. In diesem Fall gilt die generische Einschränkung für jedes Arrayelement, für das keine bestimmte Einschränkung festgelegt wurde. In jedem Fall gilt nur eine Richtlinienbeschränkung.

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

Einschlussspezifische Einträge erfordern

Es ist nicht möglich, bestimmte Werte als erforderlich festzulegen, 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>"
  }
}

Feste Werte der gesamten Liste erfordern

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

Verwendung generell untersagen

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

Zulassen von Einträgen, die eine bestimmte Beschränkungen einhalten

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

Korrigieren einer bestimmten Gruppe von Init-Skripts

Bei init_scripts-Pfaden kann das Array eine von mehreren Strukturen enthalten, für die je nach Anwendungsfall möglicherweise alle möglichen Varianten verarbeitet werden müssen. Wenn beispielsweise bestimmte Initialisierungsskripts als erforderlich und alle Varianten der anderen Version als unzulässig festgelegt werden sollen, 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"
  }
}

Beispiele für Richtlinien

Dieser Abschnitt enthält Richtlinienbeispiele, die Sie als Referenzen 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 Berechnungsrichtlinie

Mit einer universellen Berechnungsrichtlinie sollen Benutzer angeleitet und bestimmte Funktionen eingeschränkt werden. Dazu können Tags als erforderlich festgelegt, die maximale Anzahl an Instanzen eingeschränkt und ein Timeout erzwungen werden.

{
  "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 Delta Live Tables-Pipelineberechnungen

Hinweis

Wenn Sie Richtlinien zum Konfigurieren von Delta Live Tables-Berechnungen verwenden, empfiehlt Databricks, eine einzelne Richtlinie auf die beiden Berechnungen default und maintenance anzuwenden.

Um eine Richtlinie für eine Pipelineberechnung zu konfigurieren, erstellen Sie eine Richtlinie mit dem cluster_type-Feldsatz festgelegt auf dlt. Im folgenden Beispiel wird eine minimale Richtlinie für eine Delta Live Tables-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
  }
}

Richtlinie für einfache mittlere Cluster

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 von Auftragsberechnungen zum Ausführen von Aufträgen. Benutzer können mit dieser Richtlinie keine universelle Berechnung 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 eigene Berechnungen erstellen können, ohne zusätzliche Konfigurationsschritte durchführen zu müssen.

{
  "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*innen Compute zum Ausführen von Aufträgen verwenden. Benutzer*innen können Compute nur mit Notebooks 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 den Benutzer*innen, die Anzahl der Worker in einem bestimmten Bereich festzulegen.

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

Erzwingung von benutzerdefinierten Tags

Verwenden Sie das custom_tags.<tag-name>-Attribut, um die Tag-Regel für Berechnungen einer Richtlinie hinzuzufügen.

Ein Benutzer, der diese Richtlinie verwendet, muss zum Beispiel ein COST_CENTER-Tag mit 9999, 9921 oder 9531 eingeben, damit die Berechnung gestartet wird:

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