API för instanspooler 2.0

Med API:et för instanspooler kan du skapa, redigera, ta bort och lista instanspooler.

En instanspool minskar tiden för klusterstart och automatisk skalning genom att upprätthålla en uppsättning inaktiva, färdiga molninstanser. När ett kluster som är kopplat till en pool behöver en instans försöker det först allokera en av poolens inaktiva instanser. Om det inte finns några inaktiva instanser i poolen expanderas den genom att en ny instans från instansleverantören allokeras för att hantera klustrets begäran. När ett kluster släpper en instans återgår instansen till poolen och kan sedan användas av ett annat kluster. Endast kluster som är anslutna till en pool kan använda de aktiva instanserna i poolen.

Azure Databricks debiterar inte DBU när instanser är inaktiva i poolen. Faktureringen för instansprovidern gäller. Se priser.

Krav

Viktigt

För att få åtkomst till Databricks REST API:er måste du autentisera.

Skapa

Slutpunkt HTTP-metod
2.0/instance-pools/create POST

Skapa en instanspool. Använd den returnerade instance_pool_id för att fråga status för instanspoolen, vilket inkluderar antalet instanser som för närvarande allokeras av instanspoolen. Om du anger parametern min_idle_instances etableras instanser i bakgrunden och är redo att användas när idle_count i InstancePoolStats är lika med det begärda minimumet.

Om ditt konto har Databricks Container Services aktiverat och instanspoolen skapas med preloaded_docker_imageskan du använda instanspoolen för att starta kluster med en Docker-avbildning. Docker-avbildningen i instanspoolen behöver inte matcha Docker-avbildningen i klustret. Containermiljön för klustret som skapats i poolen måste dock anpassas till containermiljön för instanspoolen: du kan inte använda en instanspool som skapats med preloaded_docker_images för att starta ett kluster utan en Docker-avbildning och du kan inte använda en instanspool som skapats utan preloaded_docker_images ett startkluster med en Docker-avbildning.

Anteckning

Azure Databricks kanske inte kan hämta några av de begärda inaktiva instanserna på grund av instansproviderbegränsningar eller tillfälliga nätverksproblem. Kluster kan fortfarande ansluta till instanspoolen, men de kanske inte startar lika snabbt.

Exempel

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/instance-pools/create \
--data @create-instance-pool.json

create-instance-pool.json:

{
  "instance_pool_name": "my-pool",
  "node_type_id": "Standard_D3_v2",
  "min_idle_instances": 10,
  "custom_tags": [
    {
      "key": "my-key",
      "value": "my-value"
    }
  ]
}
{ "instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg" }

Begärandestruktur

Fältnamn Typ Description
instance_pool_name STRING Namnet på instanspoolen. Detta krävs för att skapa och redigera åtgärder. Den måste vara unik, tom och mindre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som underhålls av poolen. Detta är utöver alla instanser som används av aktiva kluster.
max_capacity INT32 Det maximala antalet instanser som poolen kan innehålla, inklusive både inaktiva instanser och instanser som används av kluster. När den maximala kapaciteten har uppnåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte skalas automatiskt förrän vissa instanser görs inaktiva i poolen via klusteravslut eller nedskalning.
node_type_id STRING Nodtypen för instanserna i poolen. Alla kluster som är anslutna till poolen ärver den här nodtypen och poolens inaktiva instanser allokeras baserat på den här typen. Du kan hämta en lista över tillgängliga nodtyper med hjälp av API-anropet Listnodtyper .
custom_tags En matris med ClusterTag Ytterligare taggar för instanspoolresurser. Azure Databricks taggar alla poolresurser (t.ex. VM-diskvolymer) med dessa taggar utöver default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser överstiger min_idle_instances underhålls av poolen innan de avslutas. Om det inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standardtidsgräns. Om det anges måste tiden vara mellan 0 och 10 0000 minuter. Om 0 anges tas överskjutande instanser av inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Lokal lagring med automatisk skalning: när den är aktiverad får instanserna i poolen dynamiskt ytterligare diskutrymme när de har ont om diskutrymme.
disk_spec DiskSpec Definierar mängden initial fjärrlagring som är kopplad till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med högst en körningsversion som poolen installerar på varje instans. Poolkluster som använder en förinstallerad körningsversion startar snabbare eftersom de inte behöver vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körningsversioner med api-anropet Runtime-versioner .
preloaded_docker_images En matris med DockerImage En lista med högst en Docker-avbildning som poolen installerar på varje instans. Poolkluster som använder en förinstallerad Docker-avbildning startar snabbare eftersom de inte behöver vänta på att avbildningen ska laddas ned. Endast tillgängligt om ditt konto har Databricks Container Services aktiverat.
azure_attributes InstancePoolAzureAttributes Definierar tillgänglighetstypen för instansen (till exempel spot eller på begäran) och det högsta budpriset.

Svarsstruktur

Fältnamn Typ Description
instance_pool_id STRING ID för den skapade instanspoolen.

Redigera

Slutpunkt HTTP-metod
2.0/instance-pools/edit POST

Redigera en instanspool. Detta ändrar konfigurationen av en befintlig instanspool.

Anteckning

  • Du kan bara redigera följande värden: instance_pool_name, min_idle_instances, max_capacityoch idle_instance_autotermination_minutes.
  • Du måste ange ett instance_pool_name värde.

Exempel

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/instance-pools/edit \
--data @edit-instance-pool.json

edit-instance-pool.json:

{
  "instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg",
  "instance_pool_name": "my-edited-pool",
  "min_idle_instances": 5,
  "max_capacity": 200,
  "idle_instance_autotermination_minutes": 30
}
{}

Begärandestruktur

Fältnamn Typ Description
instance_pool_id STRING ID:t för instanspoolen som ska redigeras. Det här fältet är obligatoriskt.
instance_pool_name STRING Namnet på instanspoolen. Detta krävs för att skapa och redigera åtgärder. Den måste vara unik, inte tom och mindre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som underhålls av poolen. Detta är utöver alla instanser som används av aktiva kluster.
max_capacity INT32 Det maximala antalet instanser som poolen kan innehålla, inklusive både inaktiva instanser och inaktiva instanser som används av kluster. När den maximala kapaciteten har uppnåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte skalas automatiskt förrän vissa instanser görs inaktiva i poolen via klusteravslutning eller nedskalning.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser som överstiger min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standardtidsgräns. Om det anges måste tiden vara mellan 0 och 10 000 minuter. Om 0 anges tas överflödiga inaktiva instanser bort så snart som möjligt.

Ta bort

Slutpunkt HTTP-metod
2.0/instance-pools/delete POST

Ta bort en instanspool. Detta tar bort instanspoolen permanent. Inaktiva instanser i poolen avslutas asynkront. Det går inte att ansluta nya kluster till poolen. Kluster som körs som är anslutna till poolen fortsätter att köras men kan inte skalas upp automatiskt. Avslutade kluster som är anslutna till poolen startar inte förrän de har redigerats för att inte längre använda poolen.

Exempel

curl --netrc -X POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/instance-pools/delete \
--data '{ "instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg" }'
{}

Struktur för begäranden

Fältnamn Typ Description
instance_pool_id STRING ID:t för instanspoolen som ska tas bort.

Slutpunkt HTTP-metod
2.0/instance-pools/get GET

Hämta informationen för en instanspool baserat på dess identifierare.

Exempel

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/instance-pools/get \
--data '{ "instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg" }'
{
  "instance_pool_name": "mypool",
  "node_type_id": "Standard_D3_v2",
  "custom_tags": {
    "my-key": "my-value"
  },
  "idle_instance_autotermination_minutes": 60,
  "enable_elastic_disk": false,
  "preloaded_spark_versions": [
    "5.4.x-scala2.11"
  ],
  "instance_pool_id": "101-120000-brick1-pool-ABCD1234",
  "default_tags": {
    "Vendor": "Databricks",
    "DatabricksInstancePoolCreatorId": "100125",
    "DatabricksInstancePoolId": "101-120000-brick1-pool-ABCD1234"
  },
  "state": "ACTIVE",
  "stats": {
    "used_count": 10,
    "idle_count": 5,
    "pending_used_count": 5,
    "pending_idle_count": 5
  },
  "status": {}
}

Struktur för begäranden

Fältnamn Typ Description
instance_pool_id STRING Den instanspool som information ska hämtas om.

Svarsstruktur

Fältnamn Typ Description
instance_pool_name STRING Namnet på instanspoolen. Detta krävs för att skapa och redigera åtgärder. Den måste vara unik, inte tom och mindre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som underhålls av poolen. Detta är utöver alla instanser som används av aktiva kluster.
max_capacity INT32 Det maximala antalet instanser som poolen kan innehålla, inklusive både inaktiva instanser och inaktiva instanser som används av kluster. När den maximala kapaciteten har uppnåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte skalas automatiskt förrän vissa instanser görs inaktiva i poolen via klusteravslutning eller nedskalning.
node_type_id STRING Nodtypen för instanserna i poolen. Alla kluster som är anslutna till poolen ärver den här nodtypen och poolens inaktiva instanser allokeras baserat på den här typen. Du kan hämta en lista över tillgängliga nodtyper med hjälp av API-anropet Listnodtyper .
custom_tags En matris med ClusterTag Ytterligare taggar för instanspoolresurser. Azure Databricks taggar alla poolresurser (t.ex. VM-diskvolymer) med dessa taggar utöver default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser som överstiger min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standardtidsgräns. Om det anges måste tiden vara mellan 0 och 10 000 minuter. Om 0 anges tas överflödiga inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Lokal lagring för automatisk skalning: när den är aktiverad hämtar instanserna i poolen dynamiskt ytterligare diskutrymme när de har ont om diskutrymme.
disk_spec DiskSpec Definierar mängden ursprunglig fjärrlagring som är ansluten till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med körningsversionen som poolen installeras på varje instans. Poolkluster som använder en förinstallerad körningsversion startar snabbare eftersom de inte behöver vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körningsversioner med hjälp av API-anropet runtime-versioner .
instance_pool_id STRING Den kanoniska unika identifieraren för instanspoolen.
default_tags En matris med ClusterTag Taggar som läggs till av Azure Databricks oavsett custom_tags, inklusive:

* Leverantör: Databricks
* DatabricksInstancePoolCreatorId: <create_user_id>
* DatabricksInstancePoolId: <instance_pool_id>
state InstancePoolState Instanspoolens aktuella tillstånd.
stats InstancePoolStats Statistik om användningen av instanspoolen.
status InstancePoolStatus Status för misslyckade väntande instanser i poolen.

Lista

Slutpunkt HTTP-metod
2.0/instance-pools/list GET

Visa information för alla instanspooler.

Exempel

curl --netrc -X GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/instance-pools/list
{
  "instance_pools": [
    {
      "instance_pool_name": "mypool",
      "node_type_id": "Standard_D3_v2",
      "idle_instance_autotermination_minutes": 60,
      "enable_elastic_disk": false,
      "preloaded_spark_versions": [
        "5.4.x-scala2.11"
      ],
      "instance_pool_id": "101-120000-brick1-pool-ABCD1234",
      "default_tags": {
        "Vendor": "Databricks",
        "DatabricksInstancePoolCreatorId": "100125",
        "DatabricksInstancePoolId": "101-120000-brick1-pool-ABCD1234"
      },
      "state": "ACTIVE",
      "stats": {
        "used_count": 10,
        "idle_count": 5,
        "pending_used_count": 5,
        "pending_idle_count": 5
      },
      "status": {}
    },
    {
      "..."
    }
  ]
}

Svarsstruktur

Fältnamn Typ Description
instance_pools En matris med InstancePoolStatus En lista över instanspooler med deras statistik inkluderad.

Datastrukturer

I det här avsnittet:

InstancePoolState

Tillståndet för en instanspool. De aktuella tillståndsövergångarna som kan tillåtas är:

  • ACTIVE ->DELETED
Name Beskrivning
AKTIV Anger att en instanspool är aktiv. Kluster kan ansluta till den.
TAS BORT Anger att instanspoolen har tagits bort och inte längre är tillgänglig.

InstancePoolStats

Statistik om användningen av instanspoolen.

Fältnamn Typ Description
used_count INT32 Antal aktiva instanser som används av ett kluster.
idle_count INT32 Antal aktiva instanser som inte används av ett kluster.
pending_used_count INT32 Antal väntande instanser som har tilldelats till ett kluster.
pending_idle_count INT32 Antal väntande instanser som inte har tilldelats till ett kluster.

InstancePoolStatus

Status för misslyckade väntande instanser i poolen.

Fältnamn Typ Description
pending_instance_errors En matris med PendingInstanceError Lista över felmeddelanden för de väntande instanserna som misslyckats.

PendingInstanceError

Felmeddelande om en väntande instans misslyckades.

Fältnamn Typ Description
instance_id STRING ID för den misslyckade instansen.
meddelande STRING Meddelande som beskriver orsaken till felet.

DiskSpec

Beskriver den första uppsättningen diskar som ska anslutas till varje instans. Om det till exempel finns tre instanser och varje instans har konfigurerats för att börja med 2 diskar, 100 GiB vardera, skapar Azure Databricks totalt 6 diskar, 100 GiB vardera, för dessa instanser.

Fältnamn Typ Description
disk_type DiskType Typ av diskar som ska anslutas.
disk_count INT32 Antalet diskar som ska anslutas till varje instans:

* Den här funktionen är endast aktiverad för nodtyper som stöds.
* Användare kan välja upp till gränsen för de diskar som stöds av nodtypen.
* För nodtyper utan lokal disk måste minst en disk anges.
disk_size INT32 Storleken på varje disk (i GiB) som ska anslutas. Värdena måste ligga inom det intervall som stöds för en viss instanstyp:

* Premium LRS (SSD): 1 - 1023 GiB
* Standard LRS (HDD): 1- 1023 GiB

Disktype

Beskriver typen av disk.

Fältnamn Typ Description
azure_disk_volume_type AzureDiskVolumeType Den typ av Azure-disk som ska användas.

InstancePoolAndStats

Fältnamn Typ Description
instance_pool_name STRING Namnet på instanspoolen. Detta krävs för att skapa och redigera åtgärder. Den måste vara unik, inte tom och mindre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som underhålls av poolen. Detta är utöver alla instanser som används av aktiva kluster.
max_capacity INT32 Det maximala antalet instanser som poolen kan innehålla, inklusive både inaktiva instanser och inaktiva instanser som används av kluster. När den maximala kapaciteten har uppnåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte skalas automatiskt förrän vissa instanser görs inaktiva i poolen via klusteravslutning eller nedskalning.
node_type_id STRING Nodtypen för instanserna i poolen. Alla kluster som är anslutna till poolen ärver den här nodtypen och poolens inaktiva instanser allokeras baserat på den här typen. Du kan hämta en lista över tillgängliga nodtyper med hjälp av API-anropet Listnodtyper .
custom_tags En matris med ClusterTag Ytterligare taggar för instanspoolresurser. Azure Databricks taggar alla poolresurser (t.ex. VM-diskvolymer) med dessa taggar utöver default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser utöver min_idle_instances underhålls av poolen innan de avslutas. Om det inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standardtidsgräns. Om det anges måste tiden vara mellan 0 och 10 0000 minuter. Om 0 anges tas överskjutande instanser av inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Lokal lagring med automatisk skalning: när den är aktiverad får instanserna i poolen dynamiskt ytterligare diskutrymme när de har ont om diskutrymme.
disk_spec DiskSpec Definierar mängden initial fjärrlagring som är kopplad till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med körningsversionen som poolen installerar på varje instans. Poolkluster som använder en förinstallerad körningsversion startar snabbare eftersom de inte behöver vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körningsversioner med api-anropet Runtime-versioner .
instance_pool_id STRING Den kanoniska unika identifieraren för instanspoolen.
default_tags En matris med ClusterTag Taggar som läggs till av Azure Databricks oavsett custom_tags, inklusive:

* Leverantör: Databricks
* DatabricksInstancePoolCreatorId: <create_user_id>
* DatabricksInstancePoolId: <instance_pool_id>
state InstancePoolState Instanspoolens aktuella tillstånd.
stats InstancePoolStats Statistik om användningen av instanspoolen.

AzureDiskVolumeType

Alla Azure Disk-typer som Azure Databricks stöder. Se https://learn.microsoft.com/azure/virtual-machines/linux/disks-types

Name Beskrivning
PREMIUM_LRS Premium-lagringsnivå, som backas upp av SSD:erna.
STANDARD_LRS Standardlagringsnivå, som backas upp av HÅRDDISKar.

InstancePoolAzureAttributes

Attribut som anges när instanspooler skapas relaterade till Azure.

Fältnamn Typ Description
availability AzureAvailability Tillgänglighetstyp som används för alla efterföljande noder.
spot_bid_max_price DOUBLE Det högsta budpriset som används för Azure-instanser av oanvänd kapacitet. Du kan ange detta till större än eller lika med det aktuella spotpriset. Du kan också ange detta till -1 (standardvärdet), vilket anger att instansen inte kan tas bort baserat på pris. Priset för instansen är det aktuella priset för spotinstanser eller priset för en standardinstans. Du kan visa historiska priser och borttagningsfrekvenser i Azure Portal.