Verwalten der Clusterrichtlinien

Wichtig

Dieses Feature befindet sich in der Public Preview.

Eine Clusterrichtlinie schränkt die Möglichkeit ein, Cluster basierend auf einer Reihe von Regeln zu konfigurieren. Die Richtlinienregeln beschränken die Attribute oder Attributwerte, die für die Clustererstellung verfügbar sind. Clusterrichtlinien verfügen über ACLs, die ihre Verwendung auf bestimmte Benutzer und Gruppen beschränken.

Mit Clusterrichtlinien können Sie:

  • Beschränken Sie Benutzer auf das Erstellen von Clustern mit vorgeschriebenen Einstellungen.
  • Vereinfachen Sie die Benutzeroberfläche, und ermöglichen Sie es mehr Benutzern, ihre eigenen Cluster zu erstellen (indem Sie einige Werte korrigieren und ausblenden).
  • Steuern Sie die Kosten, indem Sie die maximalen Kosten pro Cluster begrenzen (indem Sie Grenzwerte für Attribute festlegen, deren Werte zum Stundenpreis beitragen).

Eine Einführung in Clusterrichtlinien und Konfigurationsempfehlungen erfahren Sie im Video zu Databricks-Clusterrichtlinien:

Clusterrichtlinienberechtigungen beschränken, welche Richtlinien ein Benutzer beim Erstellen eines Clusters in der Dropdown-Dropdownseite Richtlinie auswählen kann:

  • Ein Benutzer, der über die Berechtigung zum Erstellen von Clustern verfügt, kann die Richtlinie Unrestricted auswählen und vollständig konfigurierbare Cluster erstellen.
  • Ein Benutzer, der sowohl über die Berechtigung zum Erstellen von Clustern als auch über Zugriff auf Clusterrichtlinien verfügt, kann die uneingeschränkte Richtlinie und die Richtlinien auswählen, auf die er Zugriff hat.
  • Ein Benutzer, der nur Zugriff auf Clusterrichtlinien hat, kann die Richtlinien auswählen, auf die er Zugriff hat.

Hinweis

Wenn im Arbeitsbereichkeine Richtlinien erstellt wurden, wird die Dropdown-Dropdown-Datei Richtlinie nicht angezeigt.

Nur Administratorbenutzer können Richtlinien erstellen, bearbeiten und löschen. Administratorbenutzer haben auch Zugriff auf alle Richtlinien.

Dieser Artikel konzentriert sich auf die Verwaltung von Richtlinien über die Benutzeroberfläche. Sie können auch die Clusterrichtlinien-APIs 2.0 zum Verwalten von Richtlinien verwenden.

Anforderungen

Clusterrichtlinien erfordern den Azure Databricks Premium Plan.

Erzwingungsregeln

Sie können die folgenden Arten von Einschränkungen in Richtlinienregeln ausdrücken:

  • Fester Wert mit deaktiviertem Steuerelementelement
  • Korrigierter Wert, bei dem das Steuerelement in der Benutzeroberfläche ausgeblendet ist (der Wert ist in der JSON-Ansicht sichtbar)
  • Attributwert, der auf einen Satz von Werten beschränkt ist (entweder zulassende Liste oder Blockliste)
  • Attributwert, der einem angegebenen regulärenEx entspricht
  • Numerisches Attribut, das auf einen bestimmten Bereich beschränkt ist
  • Standardwert, der von der Benutzeroberfläche mit aktivierten Steuerelementen verwendet wird

Verwaltete Clusterattribute

Clusterrichtlinien unterstützen alle Clusterattribute, die mit der Cluster-API 2.0gesteuert werden. Der spezifische Typ der unterstützten Einschränkungen kann je nach Feld variieren (je nach Typ und Beziehung zu den Benutzeroberflächenelementen des Clusterformulars).

Darüber hinaus unterstützen Clusterrichtlinien die folgenden synthetischen Attribute:

  • Eine Metrik "Max. DBU-Stunde", die die maximalen DBUs darstellt, die ein Cluster stündlich verwenden kann. Diese Metrik ist eine direkte Möglichkeit, die Kosten auf der Ebene der einzelnen Cluster zu steuern.
  • Ein Grenzwert für die Quelle, die den Cluster erstellt: Auftragsdienst (Auftragscluster), Clusterbenutzeroberfläche, Cluster-REST-API (Allzweckcluster).

Nicht verwaltete Clusterattribute

Die folgenden Clusterattribute können in einer Clusterrichtlinie nicht eingeschränkt werden:

  • Bibliotheken, die von der Bibliotheken-API 2.0verarbeitet werden. Eine Problemumgehung besteht darin, einen benutzerdefinierten Container oder ein Init-Skriptzu verwenden.
  • Anzahl der pro Benutzer erstellten Cluster (entweder gesamt oder gleichzeitig). Der Bereich einer Richtlinie ist ein einzelner Cluster, sodass keine Kenntnisse über die von einem Benutzer erstellten Cluster vorhanden sind.
  • Clusterberechtigungen (ACLs), die von einer separaten API verarbeitet werden.

Definieren einer Clusterrichtlinie

Sie definieren eine Clusterrichtlinie in einer JSON-Richtliniendefinition,die Sie beim Erstellen der Clusterrichtlinie hinzufügen.

Erstellen einer Clusterrichtlinie

Sie erstellen eine Clusterrichtlinie über die Benutzeroberfläche für Clusterrichtlinien oder die Clusterrichtlinien-APIs 2.0. So erstellen Sie eine Clusterrichtlinie über die Benutzeroberfläche:

  1. Klicken Sie in der Randleiste auf compute iconCompute.

  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.

    Cluster Policies tab

  3. Klicken Sie auf die Schaltfläche Richtlinie erstellen.

    Enter cluster policy name

  4. Benennen Sie die Richtlinie. Bei Richtliniennamen wird die Groß-/Kleinschreibung nicht beachtet.

  5. Fügen Sie auf der Registerkarte Definition eine Richtliniendefinitionein.

  6. Klicken Sie auf Erstellen.

Klonen einer vorhandenen Clusterrichtlinie

Sie können eine Clusterrichtlinie erstellen, indem Sie eine vorhandene Richtlinie klonen. So klonen Sie eine Clusterrichtlinie über die Benutzeroberfläche:

  1. Klicken Sie in der Randleiste auf compute iconCompute.
  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.
  3. Klicken Sie auf den Namen der Richtlinie, die Sie klonen möchten.
  4. Klicken Sie auf Klonen.
  5. Auf der nächsten Seite werden alle Felder mit Werten aus der vorhandenen Richtlinie aufgefüllt. Ändern Sie die Werte der Felder, die Sie ändern möchten, und klicken Sie dann auf Erstellen.

Verwalten von Clusterrichtlinienberechtigungen

Definitionsgemäß verfügen Administratoren über die Berechtigung für alle Richtlinien. Sie können Clusterrichtlinienberechtigungen mithilfe der Benutzeroberfläche für Clusterrichtlinien oder der Api für Clusterrichtlinienberechtigungenverwalten.

Hinzufügen einer Clusterrichtlinienberechtigung

So fügen Sie eine Clusterrichtlinienberechtigung über die Benutzeroberfläche hinzu:

  1. Klicken Sie in der Randleiste auf compute iconCompute.

  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.

  3. Klicken Sie auf die Registerkarte Berechtigungen.

  4. Wählen Sie in der Spalte Name einen Prinzipal aus.

    Policy permission principal

  5. Wählen Sie in der Spalte Berechtigung eine Berechtigungaus:

    Policy permission

  6. Klicken Sie auf Hinzufügen.

Löschen einer Clusterrichtlinienberechtigung

So löschen Sie eine Clusterrichtlinienberechtigung über die Benutzeroberfläche:

  1. Klicken Sie in der Randleiste auf compute iconCompute.
  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.
  3. Klicken Sie auf die Registerkarte Berechtigungen.
  4. Klicken Sie auf das Delete Icon Symbol in der Berechtigungszeile.

Bearbeiten einer Clusterrichtlinie über die Benutzeroberfläche

Sie bearbeiten eine Clusterrichtlinie über die Benutzeroberfläche für Clusterrichtlinien oder die Clusterrichtlinien-APIs 2.0. So bearbeiten Sie eine Clusterrichtlinie über die Benutzeroberfläche:

  1. Klicken Sie in der Randleiste auf compute iconCompute.

  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.

    Cluster Policies tab image

  3. Klicken Sie auf einen Richtliniennamen.

  4. Klicken Sie auf Bearbeiten.

  5. Bearbeiten Sie auf der Registerkarte Definition die Richtliniendefinition.

  6. Klicken Sie auf Aktualisieren.

Löschen einer Clusterrichtlinie über die Benutzeroberfläche

Sie löschen eine Clusterrichtlinie über die Benutzeroberfläche für Clusterrichtlinien oder die Clusterrichtlinien-APIs 2.0. So löschen Sie eine Clusterrichtlinie über die Benutzeroberfläche:

  1. Klicken Sie in der Randleiste auf compute iconCompute.

  2. Klicken Sie auf die Registerkarte Clusterrichtlinien.

    Cluster Policies tab selected

  3. Klicken Sie auf einen Richtliniennamen.

  4. Klicken Sie auf Löschen.

  5. Klicken Sie auf Löschen, um den Vorgang zu bestätigen.

Clusterrichtliniendefinitionen

Eine Clusterrichtliniendefinition ist eine Sammlung einzelner Richtliniendefinitionen, die in JSON ausgedrückt werden.

In diesem Abschnitt

Richtliniendefinitionen

Eine Richtliniendefinition ist eine Zuordnung zwischen einer Pfadzeichenfolge, die ein Attribut definiert, und einem Grenzwerttyp. Pro Attribut kann es nur eine Einschränkung geben. Ein Pfad ist spezifisch für den Typ der Ressource und spiegelt den Api-Attributnamen für die Ressourcenerstellung wider. Wenn bei der Ressourcenerstellung geschachtelte Attribute verwendet werden, verkettet der Pfad die geschachtelten Attributnamen mithilfe von Punkten. Attribute, die nicht in der Richtliniendefinition definiert sind, sind unbegrenzt, wenn Sie einen Cluster mithilfe der Richtlinie erstellen.

interface Policy {
  [path: string]: PolicyElement
}

Richtlinienelemente

Ein Richtlinienelement gibt einen der unterstützten Grenzwerttypen für ein bestimmtes Attribut und optional einen Standardwert an. Sie können einen Standardwert angeben, ohne einen Grenzwert für das Attribut in der Richtlinie zu definieren.

type PolicyElement = FixedPolicy | ForbiddenPolicy | (LimitingPolicyBase & LimitingPolicy);
type LimitingPolicy = AllowlistPolicy | BlocklistPolicy | RegexPolicy | RangePolicy | UnlimitedPolicy;

In diesem Abschnitt werden die Richtlinientypen beschrieben:

Richtlinie korrigiert

Beschränken Sie den Wert auf den angegebenen Wert. Bei anderen Attributwerten als numeric und boolean muss der Wert des Attributs durch dargestellt oder in eine Zeichenfolge konvertiert werden. Optional kann das Attribut in der Benutzeroberfläche ausgeblendet werden, wenn das hidden Flag vorhanden ist und auf festgelegt true ist. Eine feste Richtlinie kann keinen Standardwert angeben.

interface FixedPolicy {
    type: "fixed";
    value: string | number | boolean;
    hidden?: boolean;
}
Beispiel
{
  "spark_version": { "type": "fixed", "value": "7.3.x-scala2.12", "hidden": true }
}

Unzulässige Richtlinie

Verhindern Sie bei einem optionalen Attribut die Verwendung des Attributs.

interface ForbiddenPolicy {
    type: "forbidden";
}
Beispiel

Diese Richtlinie verbietet das Anfügen von Pools an den Cluster für Workerknoten. Pools sind auch für den Treiberknoten unzulässig, da driver_instance_pool_id die Richtlinie erbt.

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

Einschränken von Richtlinien: allgemeine Felder

In einer Einschränkungsrichtlinie können Sie zwei zusätzliche Felder angeben:

  • defaultValue : Der Wert, der das Formular für die Clustererstellung auf der Benutzeroberfläche auffüllt.
  • isOptional : Eine Einschränkende Richtlinie für ein Attribut macht dies erforderlich. Um das Attribut optional zu machen, legen Sie das isOptional Feld auf TRUE fest.
interface LimitedPolicyBase {
    defaultValue?: string | number | boolean;
    isOptional?: boolean;
}
Beispiel
{
  "instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}

Diese Beispielrichtlinie gibt den Standardwert id1 für den Pool für Workerknoten an, macht ihn jedoch optional. Beim Erstellen des Clusters können Sie einen anderen Pool auswählen oder keinen pool verwenden. Wenn driver_instance_pool_id nicht in der Richtlinie oder beim Erstellen des Clusters definiert ist, wird der gleiche Pool für Workerknoten und den Treiberknoten verwendet.

Richtlinie "Listen zulassen"

Eine Liste zulässiger Werte.

interface AllowlistPolicy {
  type: "allowlist";
  values: (string | number | boolean)[];
}
Beispiel
{
  "spark_version":  { "type": "allowlist", "values": [ "7.2.x-scala2.12", "7.3.x-scala2.12" ] }
}

Richtlinie für die Blockierungsliste

Die Liste der unzulässigen Werte. Da die Werte genau übereinstimmen müssen, funktioniert diese Richtlinie möglicherweise nicht wie erwartet, wenn das Attribut in bezug auf die Darstellung des Werts nachsichtig ist (z. B. führende und nachfolgende Leerzeichen zulassen).

interface BlocklistPolicy {
  type: "blocklist";
  values: (string | number | boolean)[];
}
Beispiel
{
  "spark_version":  { "type": "blocklist", "values": [ "4.0.x-scala2.11" ] }
}

RegEx-Richtlinie

Schränkt den Wert auf diejenigen ein, die mit dem regulärenEx übereinstimmen. Aus Sicherheitsgründen wird beim Abgleich des regulärenEx immer am Anfang und Ende des Zeichenfolgenwerts verankert.

interface RegexPolicy {
  type: "regex";
  pattern: string;
}
Beispiel
{
  "spark_version":  { "type": "regex", "value": "5\\.[3456].*" }
}

Bereichsrichtlinie

Schränkt den Wert auf den bereich ein, der durch die Attribute und angegeben minValuemaxValue wird. Der Wert muss eine Dezimalzahl sein. Die numerischen Grenzwerte müssen als doppelter Gleitkommawert dargestellt werden können. Um auf das Fehlen eines bestimmten Grenzwerts hinzuweisen, können Sie einen von minValue , weglassen. maxValue

interface RangePolicy {
  type: "range";
  minValue?: number;
  maxValue?: number;
}
Beispiel
{
  "num_workers":  { "type": "range", "maxValue": 10 }
}

Unbegrenzte Richtlinie

Definiert keine Wertlimits. Sie können diesen Richtlinientyp verwenden, um Attribute erforderlich zu machen oder um den Standardwert in der Benutzeroberfläche festzulegen.

interface UnlimitedPolicy {
  type: "unlimited";
}
Beispiel

So müssen Sie das COST_BUCKET Tag hinzufügen:

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

Clusterrichtlinienattributpfade

In der folgenden Tabelle sind die unterstützten Clusterrichtlinienattributpfade aufgeführt.

Attributpfad type BESCHREIBUNG
autoscale.max_workers Optionale Zahl Entfernt nach dem Ausblenden das Feld maximale Anzahl von Workern aus der Benutzeroberfläche.
autoscale.min_workers Optionale Zahl Entfernt nach dem Ausblenden das Feld für die minimale Workernummer aus der Benutzeroberfläche.
autotermination_minutes number Der Wert 0 stellt keine automatische Beendigung dar. Entfernt nach dem Ausblenden das Kontrollkästchen für die automatische Beendigung und die Werteingabe aus der Benutzeroberfläche.
cluster_log_conf.path string Die Ziel-URL der Protokolldateien.
cluster_log_conf.type string DBFS
cluster_name string Den Clusternamen.
custom_tags.* string Steuern Sie bestimmte Tagwerte, indem Sie den Tagnamen anfügen, z. B.: custom_tags.<mytag> .
docker_image.basic_auth.password string Das Kennwort für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.basic_auth.username string Der Benutzername für die Standardauthentifizierung des Databricks Container Services-Images.
docker_image.url string Steuert die Image-URL von Databricks Container Services. Entfernt nach dem Ausblenden den Abschnitt Databricks Container Services aus der Benutzeroberfläche.
driver_node_type_id Optionale Zeichenfolge Entfernt beim Ausgeblendeten die Auswahl des Treiberknotentyps aus der Benutzeroberfläche.
enable_local_disk_encryption boolean Legen Sie diese Einstellung auf fest, um die Verschlüsselung von Datenträgern zu aktivieren oder zu deaktivieren, die lokal an den Cluster angefügt sind (wie über die truefalse API angegeben).
init_scripts.*.dbfs.destination, init_scripts.*.file.destination Zeichenfolge * verweist auf den Index des Init-Skripts im Attributarray. Weitere Informationen finden Sie unter Arrayattribute.
instance_pool_id string Steuert den pool, der von Workerknoten verwendet wird, wenn driver_instance_pool_id ebenfalls definiert ist, andernfalls für alle Clusterknoten. Wenn Sie Pools für Workerknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Entfernt beim Ausgeblendeten die Poolauswahl aus der Benutzeroberfläche.
driver_instance_pool_id string Wenn angegeben, konfiguriert einen anderen Pool für den Treiberknoten als für Workerknoten. Wenn nicht angegeben, erbt instance_pool_id . Wenn Sie Pools für Workerknoten verwenden, müssen Sie auch Pools für den Treiberknoten verwenden. Entfernt bei ausgeblendeter Option die Auswahl des Treiberpools aus der Benutzeroberfläche.
node_type_id string Entfernt beim Ausgeblendeten die Auswahl des Workerknotentyps aus der Benutzeroberfläche.
num_workers Optionale Zahl Entfernt beim Ausgeblendeten die Workernummerspezifikation von der Benutzeroberfläche.
single_user_name string Der Benutzername für den Passthrough-Einzelbenutzerzugriff für Anmeldeinformationen.
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 Werte von Spark-Umgebungsvariablen, indem die Umgebungsvariable angefügt wird, z. B.: spark_env_vars.<environment variable name> .
spark_version string Der Name der Spark-Imageversion (wie über die API angegeben).

Virtuelle Attributpfade für Clusterrichtlinien

Attributpfad type BESCHREIBUNG
dbus_per_hour number Berechnetes Attribut, das die DBU-Kosten des Clusters einschließlich des Treiberknotens darstellt (Maximalwert bei Clustern mit automatischer Skalierung). Für die Verwendung mit Bereichsbeschränkung.
cluster_type string Stellt den Typ des Clusters dar, der erstellt werden kann:

* all-purpose für Azure Databricks von Allzweckclustern
* job für Auftragscluster, die vom Auftragsplaner erstellt wurden

Ermöglicht oder blockiert das Erstellen angegebener Clustertypen aus der Richtlinie. Wenn der Wert nicht zulässig ist, wird die Richtlinie nicht im Formular für die all-purpose Allzweckclustererstellung angezeigt. Wenn der job Wert nicht zulässig ist, wird die Richtlinie nicht im Neuen Clusterformular des Auftrags angezeigt.

Arrayattribute

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

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

Für das Arrayattribut beginnen beispielsweise die generischen Pfade mit und die spezifischen Pfade mit , wobei ein ganzzahliger Index im Array init_scriptsinit_scripts.* ist init_scripts.<n><n> (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 gilt. In jedem Fall gilt nur eine Richtlinienbeschränkung.

Typische Anwendungsfälle für die Arrayrichtlinien sind:

  • Einschlussspezifische Einträge erforderlich. Beispiele:

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

    Sie können keine bestimmten Werte erfordern, ohne die Reihenfolge anzugeben.

  • Erfordert einen festen Wert der gesamten Liste. Beispiele:

    {
      "init_scripts.0.dbfs.destination": {
        "type": "fixed",
        "value": "<required-script-1>"
      },
      "init_scripts.*.dbfs.destination": {
        "type": "forbidden"
      }
    }
    
  • Lassen Sie die Verwendung vollständig zu.

    {
      "init_scripts.*.dbfs.destination": {
        "type": "forbidden"
      }
    }
    
  • Lassen Sie eine beliebige Anzahl von Einträgen zu, aber folgen Sie nur einer bestimmten Einschränkung. Beispiele:

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

Im Fall von Pfaden kann das Array eine von mehreren Strukturen enthalten, für die je nach Verwendungsfall möglicherweise alle möglichen Varianten init_scripts behandelt werden müssen. Um beispielsweise einen bestimmten Satz von Init-Skripts zu erfordern und jede Variante der anderen Version nicht zu ermöglichen, können Sie das folgende Muster verwenden:

{
  "init_scripts.1.dbfs.destination": {
    "type": "fixed",
    "value": "dbfs://<dbfs-path>"
  },
  "init_scripts.*.dbfs.destination": {
    "type": "forbidden"
  },
  "init_scripts.*.file.destination": {
    "type": "forbidden"
  },
}

Beispiele für Clusterrichtlinien

In diesem Abschnitt

Allgemeine Clusterrichtlinie

Eine allgemeine Clusterrichtlinie, die Benutzer führt und einige Funktionen einschränkt, tags erfordert, die maximale Anzahl von Instanzen einschränkt und timeout erzwingen soll.

{
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "fixed",
    "value": "serverless",
    "hidden": true
  },
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "spark_version": {
    "type": "regex",
    "pattern": "7\\.[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"
  }
}

Einfache mittelgroße Richtlinie

Ermöglicht Benutzern das Erstellen eines mittelgroßen Clusters mit minimaler Konfiguration. Das einzige erforderliche Feld zum Zeitpunkt der Erstellung ist der Clustername. der Rest ist fest und ausgeblendet.

{
  "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": "7.3.x-scala2.12",
    "hidden": true
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}

Richtlinie nur für Auftrag

Ermöglicht Benutzern das Erstellen von Auftragsclustern und das Ausführen von Aufträgen mithilfe des Clusters. Benutzer können mit dieser Richtlinie keinen allzweckbasierten Cluster 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": "regex",
    "pattern": "7\\.[0-9]+\\.x-scala.*"
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}

Richtlinie für einen einzelnen Knoten

Ermöglicht Benutzern das Erstellen eines Einzelknotenclusters ohne Workerknoten, bei dem Spark im lokalen Modus aktiviert ist. Beispielrichtlinien finden Sie unter Clusterrichtlinie für einzelne Knoten.

Passthroughrichtlinie für hohe Parallelität

Ermöglicht Benutzern das Erstellen von Clustern im Modus für hohe Parallelität mit standardmäßig aktivierter Passthrough. Auf diese Weise müssen Benutzer die entsprechenden Spark-Parameter nicht manuell festlegen.

{
  "spark_conf.spark.databricks.passthrough.enabled": {
    "type": "fixed",
    "value": "true"
  },
  "spark_conf.spark.databricks.repl.allowedLanguages": {
    "type": "fixed",
    "value": "python,sql"
  },
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "fixed",
    "value": "serverless"
  },
  "spark_conf.spark.databricks.pyspark.enableProcessIsolation": {
    "type": "fixed",
    "value": "true"
  },
  "custom_tags.ResourceClass": {
    "type": "fixed",
    "value": "Serverless"
  }
}

Externe Metastore-Richtlinie

Ermöglicht Benutzern das Erstellen eines Clusters mit einem vom Administrator definierten Metastore, der bereits angefügt ist. Dies ist nützlich, damit Benutzer ihre eigenen Cluster erstellen können, ohne dass eine 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>"
  }
}