Clusterbeleid beheren

Belangrijk

Deze functie is beschikbaar als openbare preview.

Een clusterbeleid beperkt de mogelijkheid om clusters te configureren op basis van een set regels. De beleidsregels beperken de kenmerken of kenmerkwaarden die beschikbaar zijn voor het maken van clusters. Clusterbeleidsregels hebben ACL's die het gebruik beperken tot specifieke gebruikers en groepen.

Met clusterbeleid kunt u:

  • Beperk gebruikers voor het maken van clusters met voorgeschreven instellingen.
  • Vereenvoudig de gebruikersinterface en stel meer gebruikers in staat om hun eigen clusters te maken (door enkele waarden op te geven en te verbergen).
  • Kosten beheersen door de maximale kosten per cluster te beperken (door limieten in te stellen voor kenmerken waarvan de waarden bijdragen aan de uurprijs).

Bekijk de video Databricks-clusterbeleid voor een inleiding tot clusterbeleid en configuratieaanbevelingen:

Met machtigingen voor clusterbeleid kunt u beperken welke beleidsregels een gebruiker kan selecteren in de vervolgkeuzekeuze selecteren wanneer de gebruiker een cluster maakt:

  • Een gebruiker met een machtiging voor het maken van een cluster kan het beleid Onbeperkt selecteren en volledig configureerbare clusters maken.
  • Een gebruiker met zowel clustermachtiging als toegang tot clusterbeleid kan het onbeperkte beleid en de beleidsregels selecteren waar ze toegang toe hebben.
  • Een gebruiker die alleen toegang heeft tot clusterbeleid, kan het beleid selecteren waar hij toegang toe heeft.

Notitie

Als er geen beleidsregels zijn gemaakt in de werkruimte, wordt de vervolgkeuzeruimte Beleid niet weergegeven.

Alleen beheerders kunnen beleid maken, bewerken en verwijderen. Gebruikers met beheerdersrechten hebben ook toegang tot alle beleidsregels.

Dit artikel is gericht op het beheren van beleid met behulp van de gebruikersinterface. U kunt ook de API's voor clusterbeleid 2.0 gebruiken om beleidsregels te beheren.

Vereisten

Clusterbeleid vereist de Azure Databricks Premium Plan.

Afdwingingsregels

U kunt de volgende typen beperkingen in beleidsregels uitdrukken:

  • Vaste waarde met uitgeschakeld besturingselementelement
  • Vaste waarde met besturingselement verborgen in de gebruikersinterface (waarde is zichtbaar in de JSON-weergave)
  • Kenmerkwaarde beperkt tot een set waarden (lijst met toegestane of geblokkeerde waarden)
  • Kenmerkwaarde die overeenkomt met een bepaalde regex
  • Numeriek kenmerk beperkt tot een bepaald bereik
  • Standaardwaarde die wordt gebruikt door de gebruikersinterface met besturingselement ingeschakeld

Beheerde clusterkenmerken

Clusterbeleid ondersteunt alle clusterkenmerken die worden beheerd met de Clusters-API 2.0. Het specifieke type ondersteunde beperkingen kan per veld verschillen (afhankelijk van het type en de relatie met de elementen van de gebruikersinterface van het clusterformulier).

Bovendien ondersteunen clusterbeleid de volgende synthetische kenmerken:

  • Een metriek 'max. DBU-uur', de maximale DBU's die een cluster op uurbasis kan gebruiken. Deze metrische gegevens zijn een directe manier om de kosten op het niveau van het afzonderlijke cluster te beheersen.
  • Een limiet voor de bron die het cluster maakt: Takenservice (taakclusters), Gebruikersinterface van clusters, Clusters REST API (clusters voor alle doeleinden).

Niet-mande clusterkenmerken

De volgende clusterkenmerken kunnen niet worden beperkt in een clusterbeleid:

  • Bibliotheken, die worden verwerkt door Bibliotheken-API 2.0. Een tijdelijke oplossing is het gebruik van een aangepaste container of een init-script.
  • Het aantal clusters dat per gebruiker is gemaakt (totaal of tegelijkertijd). Het bereik van een beleid is één cluster, dus er is geen kennis van de clusters die door een gebruiker zijn gemaakt.
  • Clustermachtigingen (ACL's), die worden verwerkt door een afzonderlijke API.

Een clusterbeleid definiëren

U definieert een clusterbeleid in een JSON-beleidsdefinitiedie u toevoegt wanneer u het clusterbeleid maakt.

Een clusterbeleid maken

U maakt een clusterbeleid met behulp van de gebruikersinterface voor clusterbeleid of de API's voor clusterbeleid 2.0. Een clusterbeleid maken met behulp van de gebruikersinterface:

  1. Klik op het rekenpictogramCompute in de zijbalk.

  2. Klik op het tabblad Clusterbeleid.

    Tabblad Clusterbeleid

  3. Klik op de knop Beleid maken.

    Voer de naam van het clusterbeleid in

  4. Noem het beleid. Beleidsnamen zijn niet-gevoelig voor het geval.

  5. Plak op het tabblad Definitie een beleidsdefinitie.

  6. Klik op Create.

Machtigingen voor clusterbeleid beheren

Beheerders hebben per definitie machtigingen voor alle beleidsregels. U kunt machtigingen voor clusterbeleid beheren met behulp van de gebruikersinterface voor clusterbeleid of de API voor machtigingen voor clusterbeleid.

Een machtiging voor clusterbeleid toevoegen

Een machtiging voor clusterbeleid toevoegen met behulp van de gebruikersinterface:

  1. Klik op het rekenpictogramCompute in de zijbalk.

  2. Klik op het tabblad Clusterbeleid.

  3. Klik op het tabblad machtigingen .

  4. Selecteer een principal in de kolom Naam.

    Principal van beleidsmachtiging

  5. Selecteer in de kolom Machtiging een machtiging:

    Beleidsmachtiging

  6. Klik op Add.

Machtiging voor clusterbeleid verwijderen

Een machtiging voor clusterbeleid verwijderen met behulp van de gebruikersinterface:

  1. Klik op het rekenpictogramCompute in de zijbalk.
  2. Klik op het tabblad Clusterbeleid.
  3. Klik op het tabblad machtigingen .
  4. Klik op het pictogram Verwijderen in de rij met machtigingen.

Een clusterbeleid bewerken met behulp van de gebruikersinterface

U bewerkt een clusterbeleid met behulp van de gebruikersinterface voor clusterbeleid of de API's voor clusterbeleid 2.0. Een clusterbeleid bewerken met behulp van de gebruikersinterface:

  1. Klik op het rekenpictogramCompute in de zijbalk.

  2. Klik op het tabblad Clusterbeleid.

    Afbeelding van het tabblad Clusterbeleid

  3. Klik op een beleidsnaam.

  4. Klik op Bewerken.

  5. Bewerk de beleidsdefinitie op het tabblad Definitie.

  6. Klik op Update.

Een clusterbeleid verwijderen met behulp van de gebruikersinterface

U verwijdert een clusterbeleid met behulp van de gebruikersinterface voor clusterbeleid of de API's voor clusterbeleid 2.0. Een clusterbeleid verwijderen met behulp van de gebruikersinterface:

  1. Klik op het rekenpictogramCompute in de zijbalk.

  2. Klik op het tabblad Clusterbeleid.

    Tabblad Clusterbeleid geselecteerd

  3. Klik op een beleidsnaam.

  4. Klik op Verwijderen.

  5. Klik op Verwijderen om te bevestigen.

Clusterbeleidsdefinities

Een clusterbeleidsdefinitie is een verzameling afzonderlijke beleidsdefinities die worden uitgedrukt in JSON.

In deze sectie:

Beleidsdefinities

Een beleidsdefinitie is een kaart tussen een padreeks die een kenmerk en een limiettype definieren. Er kan slechts één beperking per kenmerk zijn. Een pad is specifiek voor het type resource en weerspiegelt de naam van het API-kenmerk voor het maken van de resource. Als voor het maken van de resource geneste kenmerken worden gebruikt, worden de geneste kenmerknamen met behulp van punten in het pad samenvoegd. Kenmerken die niet in de beleidsdefinitie zijn gedefinieerd, zijn onbeperkt wanneer u een cluster maakt met behulp van het beleid.

interface Policy {
  [path: string]: PolicyElement
}

Beleidselementen

Een beleidselement specificeert een van de ondersteunde limiettypen voor een bepaald kenmerk en optioneel een standaardwaarde. U kunt een standaardwaarde opgeven zonder een limiet te definiëren voor het kenmerk in het beleid.

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

In deze sectie worden de beleidstypen beschreven:

Vast beleid

Beperk de waarde tot de opgegeven waarde. Voor andere kenmerkwaarden dan numerieke en booleaanse waarden moet de waarde van het kenmerk worden vertegenwoordigd door of door een token naar een tekenreeks. Optioneel kan het kenmerk worden verborgen in de gebruikersinterface wanneer de hidden vlag aanwezig is en is ingesteld op true . Een vast beleid kan geen standaardwaarde opgeven.

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

Verboden beleid

Voor een optioneel kenmerk voorkomt u het gebruik van het kenmerk .

interface ForbiddenPolicy {
    type: "forbidden";
}
Voorbeeld

Dit beleid verbiedt het koppelen van pools aan het cluster voor werkknooppunten. Pools zijn ook verboden voor het stuurprogramma-knooppunt, omdat driver_instance_pool_id het beleid overgenomen.

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

Beleid beperken: algemene velden

In een beperkingsbeleid kunt u twee extra velden opgeven:

  • defaultValue : de waarde die het formulier voor het maken van het cluster in de gebruikersinterface vult.
  • isOptional - een beperkingsbeleid voor een kenmerk maakt dit vereist. Als u het kenmerk optioneel wilt maken, stelt u isOptional het veld in op true.
interface LimitedPolicyBase {
    defaultValue?: string | number | boolean;
    isOptional?: boolean;
}
Voorbeeld
{
  "instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}

Dit voorbeeldbeleid geeft de standaardwaarde voor de id1 pool voor werkknooppunten aan, maar maakt deze optioneel. Wanneer u het cluster maakt, kunt u een andere groep selecteren of er geen gebruiken. Als niet is gedefinieerd in het beleid of bij het maken van het cluster, wordt dezelfde pool gebruikt voor werkknooppunten driver_instance_pool_id en het stuurprogrammaknooppunt.

Lijstbeleid toestaan

Een lijst met toegestane waarden.

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

Lijstbeleid blokkeren

De lijst met niet-toegestaan waarden. Omdat de waarden exact overeen moeten komen, werkt dit beleid mogelijk niet zoals verwacht wanneer het kenmerk af en toe is in de manier waarop de waarde wordt weergegeven (bijvoorbeeld het toestaan van voor- en achteraan spaties).

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

Regex-beleid

Beperkt de waarde tot de waarden die overeenkomen met de regex. Voor de veiligheid, bij het zoeken De regex is altijd verankerd aan het begin en einde van de tekenreekswaarde.

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

Bereikbeleid

Beperkt de waarde tot het bereik dat is opgegeven door de minValue kenmerken maxValue en . De waarde moet een decimaal getal zijn. De numerieke limieten moeten worden weergegeven als een dubbele drijvende-puntwaarde. Als u wilt aangeven dat er geen specifieke limiet is, kunt u een van minValuemaxValue weglaten.

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

Onbeperkt beleid

Definieert geen waardelimieten. U kunt dit beleidstype gebruiken om kenmerken vereist te maken of om de standaardwaarde in de gebruikersinterface in te stellen.

interface UnlimitedPolicy {
  type: "unlimited";
}
Voorbeeld

Als u wilt vereisen dat de tag wordt COST_BUCKET toegevoegd:

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

Als u een standaardwaarde wilt instellen voor een Spark-configuratievariabele, maar ook wilt toestaan om deze weg te laten (verwijderen) :

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

Kenmerkpaden voor clusterbeleid

De volgende tabel bevat de ondersteunde paden clusterbeleid kenmerk.

Kenmerkpad Type Description
autoscale.max_workers optioneel getal Als u dit verborgen, verwijdert u het veld maximum aantal werker uit de gebruikersinterface.
autoscale.min_workers optioneel getal Als deze verborgen is, wordt het veld minimumaantal werker uit de gebruikersinterface verwijderd.
autotermination_minutes getal De waarde 0 vertegenwoordigt geen automatische beëindiging. Wanneer deze verborgen is, worden het selectievakje voor automatische beëindiging en waardeinvoer uit de gebruikersinterface verwijderd.
cluster_log_conf.path tekenreeks De doel-URL van de logboekbestanden.
cluster_log_conf.type tekenreeks DBFS
cluster_name tekenreeks De clusternaam.
custom_tags.* tekenreeks U kunt specifieke tagwaarden bepalen door de tagnaam toe te staan, bijvoorbeeld: custom_tags.<mytag> .
docker_image.basic_auth.password tekenreeks Het wachtwoord voor de basisverificatie van de Databricks Container Services-afbeelding.
docker_image.basic_auth.username tekenreeks De gebruikersnaam voor de basisverificatie van de Databricks Container Services-afbeelding.
docker_image.url tekenreeks Hiermee beheert u de URL van de Databricks Container Services-afbeelding. Als u deze verborgen hebt, verwijdert u de sectie Databricks Container Services uit de gebruikersinterface.
driver_node_type_id optionele tekenreeks Als deze is verborgen, wordt de selectie van het type stuurprogramma-knooppunt uit de gebruikersinterface verwijderd.
enable_local_disk_encryption booleaans Stel in op om schijven die lokaal zijn gekoppeld aan het cluster in te schakelen of uit te schakelen truefalse (zoals opgegeven via de API).
init_scripts.*.dbfs.destination, init_scripts.*.file.destination tekenreeks * verwijst naar de index van het init-script in de kenmerk array. Zie Matrixkenmerken.
instance_pool_id tekenreeks Hiermee bepaalt u de pool die wordt gebruikt door werkknooppunten als driver_instance_pool_id ook is gedefinieerd, of voor alle clusterknooppunten, anders. Als u pools gebruikt voor werkknooppunten, moet u ook pools gebruiken voor het stuurprogrammaknooppunt. Wanneer deze verborgen is, verwijdert u de poolselectie uit de gebruikersinterface.
driver_instance_pool_id tekenreeks Als dit is opgegeven, configureert een andere pool voor het stuurprogrammaknooppunt dan voor werkknooppunten. Als dit niet is opgegeven, neemt instance_pool_id over. Als u pools gebruikt voor werkknooppunten, moet u ook pools gebruiken voor het stuurprogrammaknooppunt. Wanneer deze is verborgen, verwijdert u de selectie van stuurprogrammapools uit de gebruikersinterface.
node_type_id tekenreeks Als deze is verborgen, wordt de selectie van het type werk knooppunt uit de gebruikersinterface verwijderd.
num_workers optioneel getal Als deze niet wordt verborgen, wordt de specificatie van het werknummer uit de gebruikersinterface verwijderd.
single_user_name tekenreeks De gebruikersnaam voor referentiepassthrough voor toegang tot één gebruiker.
spark_conf.* optionele tekenreeks Hiermee bepaalt u specifieke configuratiewaarden door de naam van de configuratiesleutel toe te voeren, bijvoorbeeld: spark_conf.spark.executor.memory .
spark_env_vars.* optionele tekenreeks Hiermee worden specifieke waarden voor Spark-omgevingsvariabelen bepaald door de omgevingsvariabele toe te laten, bijvoorbeeld: spark_env_vars.<environment variable name> .
spark_version tekenreeks De versienaam van de Spark-afbeelding (zoals opgegeven via de API).

Virtuele kenmerkpaden voor clusterbeleid

Kenmerkpad Type Description
dbus_per_hour getal Berekend kenmerk dat (maximaal, in het geval van clusters voor automatisch schalen) DBU-kosten van het cluster vertegenwoordigt, inclusief het stuurprogrammaknooppunt. Voor gebruik met bereikbeperking.
cluster_type tekenreeks Vertegenwoordigt het type cluster dat kan worden gemaakt:

* all-purpose voor Azure Databricks clusters voor alle doeleinden
* job voor taakclusters die zijn gemaakt door de taakplanster

Toestaan of blokkeren van opgegeven typen clusters die moeten worden gemaakt van het beleid. Als de waarde niet is toegestaan, wordt het beleid niet weergegeven in het formulier voor all-purpose het maken van een cluster voor alle doeleinden. Als de job waarde niet is toegestaan, wordt het beleid niet weergegeven in het nieuwe clusterformulier van de taak.

Matrixkenmerken

U kunt beleidsregels voor matrixkenmerken op twee manieren opgeven:

  • Algemene beperkingen voor alle matrixelementen. Deze beperkingen gebruiken het * jokerteken in het beleidspad.
  • Specifieke beperkingen voor een matrixelement op een specifieke index. Deze beperking maakt gebruik van een getal in het pad.

Voor het matrixkenmerk init_scripts beginnen de algemene paden bijvoorbeeld met init_scripts.* en de specifieke paden met , waarbij een index met gehele getallen init_scripts.<n> in de matrix is <n> (beginnend met 0). U kunt algemene en specifieke beperkingen combineren. In dat geval is de algemene beperking van toepassing op elk matrixelement dat geen specifieke beperking heeft. In elk geval is er slechts één beleidsbeperking van toepassing.

Typische gebruiksgevallen voor het matrixbeleid zijn:

  • Insluitingsspecifieke vermeldingen vereisen. Bijvoorbeeld:

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

    U kunt geen specifieke waarden vereisen zonder de volgorde op te geven.

  • Een vaste waarde van de hele lijst vereisen. Bijvoorbeeld:

    {
      "init_scripts.0.dbfs.destination": {
        "type": "fixed",
        "value": "<required-script-1>"
      },
      "init_scripts.*.dbfs.destination": {
        "type": "forbidden"
      }
    }
    
  • Helemaal niet gebruiken.

    {
      "init_scripts.*.dbfs.destination": {
        "type": "forbidden"
      }
    }
    
  • Sta een aantal vermeldingen toe, maar volg alleen een specifieke beperking. Bijvoorbeeld:

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

In het geval init_scripts van paden kan de matrix een van meerdere structuren bevatten waarvoor alle mogelijke varianten moeten mogelijk worden verwerkt, afhankelijk van de use-case. Bijvoorbeeld om te vereisen een specifieke set init-scripts en geen variant van de andere versie, kunt u gebruiken het volgende patroon:

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

Voorbeelden van clusterbeleid

In deze sectie:

Algemeen clusterbeleid

Een clusterbeleid voor algemeen gebruik dat is bedoeld om gebruikers te begeleiden en bepaalde functionaliteit te beperken, terwijl tags zijn vereist, het maximum aantal exemplaren wordt beperkt en time-out wordt afdwingen.

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

Eenvoudig gemiddeld beleid

Hiermee kunnen gebruikers een gemiddeld cluster met minimale configuratie maken. Het enige vereiste veld tijdens het maken is de clusternaam; de rest is vast en verborgen.

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

Alleen taakbeleid

Hiermee kunnen gebruikers taakclusters maken en taken uitvoeren met behulp van het cluster. Gebruikers kunnen geen cluster voor alle doeleinden maken met dit beleid.

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

Beleid voor één knooppunt

Hiermee kunnen gebruikers een cluster met één knooppunt maken zonder werkknooppunten waarbij Spark is ingeschakeld in de lokale modus. Zie Bijvoorbeeld beleid voor cluster met één knooppunt.

Passthrough-beleid voor hoge gelijktijdigheid

Hiermee kunnen gebruikers clusters maken in de modus voor hoge gelijktijdigheid waarbij passthrough standaard is ingeschakeld. Op deze manier hoeven gebruikers de juiste Spark-parameters niet handmatig in te stellen.

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

Beleid voor externe metastore

Hiermee kunnen gebruikers een cluster maken met een door de beheerder gedefinieerde metastore die al is gekoppeld. Dit is handig om gebruikers toe te staan hun eigen clusters te maken zonder extra configuratie.

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