API för instanspooler

Med hjälp av API: erna för instansen kan du skapa, redigera, ta bort och lista instans pooler.

En instans-pool minskar tiden för kluster start och automatisk skalning genom att underhålla en uppsättning inaktiva moln instanser som är färdiga att använda. 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 poolen inte har några inaktiva instanser expanderas den genom att en ny instans från instans leverantö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. Instansleverantörens fakturering gäller. Se prissättning.

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 instans-pool. Använd den returnerade instance_pool_id för att fråga om status för instansen, som innehåller antalet instanser som för närvarande allokeras av instansen. Om du anger min_idle_instances parametern, är instanser etablerade i bakgrunden och är redo att användas när idle_count i InstancePoolStats är lika med det begärda minimivärdet.

Om ditt konto har Databricks Container Services aktiverat och instansen skapas med preloaded_docker_images kan du använda instansen för att starta kluster med en Docker-avbildning. Docker-avbildningen i instansen behöver inte matcha Docker-avbildningen i klustret. Men behållar miljön i klustret som skapas på poolen måste överensstämma med behållar miljön i instansen: du kan inte använda en instans som skapats med preloaded_docker_images för att starta ett kluster utan en Docker-avbildning och du kan inte använda en instans som skapats utan preloaded_docker_images till ett start kluster med en Docker-avbildning.

Anteckning

Azure Databricks kanske inte kan förvärva några av de begärda inaktiva instanserna på grund av begränsningar i instans leverantören eller tillfälliga nätverks problem. Kluster kan fortfarande ansluta till instansen, men kanske inte startar så snabbt.

En exempel förfrågan:

{
  "instance_pool_name": "my-pool",
  "node_type_id": "Standard_D3_v2",
  "min_idle_instances": 10
}

Och svar:

{
  "instance_pool_id": "0101-120000-brick1-pool-ABCD1234"
}

Begär struktur

Fältnamn Typ Description
instance_pool_name STRING Namnet på instansen. Detta krävs för att skapa och redigera-åtgärder. Det måste vara unikt, får inte vara tomt och innehålla färre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som hanteras av poolen. Detta gäller 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 de som används av kluster. När den maximala kapaciteten har nåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte autoskalas upp förrän vissa instanser har gjorts inaktiva i poolen via kluster avslutning 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 genom att använda list Node types API-anrop.
custom_tags En matris med ClusterTag Ytterligare taggar för resurser för en instans av poolen. Azure Databricks Taggar alla pool resurser (t. ex. disk volymer för virtuella datorer) med taggarna förutom default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser överskrider min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standard tids gräns. Om det anges måste tiden vara mellan 0 och 10000 minuter. Om 0 anges tas överflödiga inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Automatisk skalning av lokal lagring: när den är aktive rad kan instanserna i poolen dynamiskt få ytterligare disk utrymme när de har ont om disk utrymme.
disk_spec DiskSpec Definierar mängden inledande Fjärrlagring som är kopplat till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med högst en kör tids version som poolen installeras på varje instans. Pool kluster som använder en förinstallerad körnings version startar snabbare eftersom de måste vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körnings versioner med API-anrop för körnings versioner .
preloaded_docker_images En matris med DockerImage En lista med minst en Docker-avbildning som poolen installeras på varje instans. Pool kluster som använder en förinstallerad Docker-avbildning startar snabbare eftersom de måste vänta på att avbildningen ska laddas ned. Endast tillgängligt om ditt konto har Databricks Container Services aktiverat.

Svars struktur

Fältnamn Typ Description
instance_pool_id STRING ID för den skapade instansen av den skapade poolen.

Redigera

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

Redigera en instans-pool. Detta ändrar konfigurationen för en befintlig instans-pool.

Anteckning

  • Du kan bara redigera följande fält: instance_pool_name , min_idle_instances , max_capacity och idle_instance_autotermination_minutes .
  • Du måste ange ett instance_pool_name .
  • Du måste ange en node_type_id och den måste matcha originalet node_type_id .

En exempel förfrågan:

{
  "instance_pool_id": "0101-120000-brick1-pool-ABCD1234",
  "instance_pool_name": "my-edited-pool",
  "node_type_id": "Standard_D3_v2",
  "min_idle_instances": 5,
  "max_capacity": 200,
  "idle_instance_autotermination_minutes": 30
}

Begär struktur

Fältnamn Typ Description
instance_pool_id STRING ID för den instans som ska redige ras. Det här fältet är obligatoriskt.
instance_pool_name STRING Namnet på instansen. Detta krävs för att skapa och redigera-åtgärder. Det måste vara unikt, får inte vara tomt och innehålla färre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som hanteras av poolen. Detta gäller 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 de som används av kluster. När den maximala kapaciteten har nåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte autoskalas upp förrän vissa instanser har gjorts inaktiva i poolen via kluster avslutning 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 genom att använda list Node types API-anrop.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser som överskrider den min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standard tids gräns. Om det anges måste tiden vara mellan 0 och 10000 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 instans-pool. Detta tar permanent bort instansen. De inaktiva instanserna i poolen avslutas asynkront. Nya kluster kan inte ansluta till poolen. Att köra kluster som är anslutna till poolen fortsätter att köras, men kan inte skalas upp igen. Avslutade kluster som är anslutna till poolen kommer inte att starta förrän de har redigerats för att inte längre använda poolen.

En exempel förfrågan:

{
  "instance_pool_id": "0101-120000-brick1-pool-ABCD1234"
}

Begär struktur

Fältnamn Typ Description
instance_pool_id STRING ID för den instans som ska tas bort.

Hämta

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

Hämta information för en instans-pool med angivet ID.

En exempel förfrågan:

/instance-pools/get?instance_pool_id=0101-120000-brick1-pool-ABCD1234

Ett exempel svar:

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

Begär struktur

Fältnamn Typ Description
instance_pool_id STRING Den instans-pool som information ska hämtas från.

Svars struktur

Fältnamn Typ Description
instance_pool_name STRING Namnet på instansen. Detta krävs för att skapa och redigera-åtgärder. Det måste vara unikt, får inte vara tomt och innehålla färre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som hanteras av poolen. Detta gäller 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 de som används av kluster. När den maximala kapaciteten har nåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte autoskalas upp förrän vissa instanser har gjorts inaktiva i poolen via kluster avslutning 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 genom att använda list Node types API-anrop.
custom_tags En matris med ClusterTag Ytterligare taggar för resurser för en instans av poolen. Azure Databricks Taggar alla pool resurser (t. ex. disk volymer för virtuella datorer) med taggarna förutom default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser som överskrider den min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standard tids gräns. Om det anges måste tiden vara mellan 0 och 10000 minuter. Om 0 anges tas överflödiga inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Automatisk skalning av lokal lagring: när den är aktive rad kan instanserna i poolen dynamiskt få ytterligare disk utrymme när de har ont om disk utrymme.
disk_spec DiskSpec Definierar mängden inledande Fjärrlagring som är kopplat till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med den kör tids version som poolen installeras på varje instans. Pool kluster som använder en förinstallerad körnings version startar snabbare eftersom de måste vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körnings versioner med API-anrop för körnings versioner .
instance_pool_id STRING Den kanoniska unika identifieraren för instansen.
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 Aktuellt tillstånd för instansen.
stats InstancePoolStats Statistik om användningen av instans-poolen.
status InstancePoolStatus Status om misslyckade instanser i poolen.

Lista

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

Visa information för alla instans-pooler.

Ett exempel svar:

{
  "instance_pools": [
    {
      "instance_pool_name": "my-pool",
      "min_idle_instances": 10,
      "node_type_id": "Standard_D3_v2",
      "idle_instance_autotermination_minutes": 60,
      "instance_pool_id": "0101-120000-brick1-pool-ABCD1234",
      "default_tags": [
        { "DatabricksInstancePoolCreatorId", "1234" },
        { "DatabricksInstancePoolId", "0101-120000-brick1-pool-ABCD1234" }
      ],
      "stats": {
        "used_count": 10,
        "idle_count": 5,
        "pending_used_count": 5,
        "pending_idle_count": 5
      }
    }
  ]
}

Svars struktur

Fältnamn Typ Description
instance_pools En matris med InstancePoolAndStats En lista med instans-pooler med deras statistik ingår.

Data strukturer

I det här avsnittet:

InstancePoolState

Tillstånd för en instans-pool. Aktuella tillåtna tillstånds över gångar är:

  • ACTIVE -> DELETED
Name Beskrivning
AKTIV Anger att en instans-pool är aktiv. Kluster kan ansluta till den.
TAR Anger att instansen har tagits bort och inte längre är tillgänglig.

InstancePoolStats

Statistik om användningen av instans-poolen.

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 ett kluster.
pending_idle_count INT32 Antal väntande instanser som inte har tilldelats ett kluster.

InstancePoolStatus

Status om misslyckade instanser i poolen.

Fältnamn Typ Description
pending_instance_errors En matris med PendingInstanceError Lista över fel meddelanden för de misslyckade väntande instanserna.

PendingInstanceError

Fel meddelande för en misslyckad väntande instans.

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 kon figurer ATS för att börja med 2 diskar, 100 GiB, skapar Azure Databricks totalt 6 diskar, 100 GiB var och en, för dessa instanser.

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

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

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

DiskType

Beskriver disk typen.

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å instansen. Detta krävs för att skapa och redigera-åtgärder. Det måste vara unikt, får inte vara tomt och innehålla färre än 100 tecken.
min_idle_instances INT32 Det minsta antalet inaktiva instanser som hanteras av poolen. Detta gäller 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 de som används av kluster. När den maximala kapaciteten har nåtts kan du inte skapa nya kluster från poolen och befintliga kluster kan inte autoskalas upp förrän vissa instanser har gjorts inaktiva i poolen via kluster avslutning 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 genom att använda list Node types API-anrop.
custom_tags En matris med ClusterTag Ytterligare taggar för resurser för en instans av poolen. Azure Databricks Taggar alla pool resurser (t. ex. disk volymer för virtuella datorer) med taggarna förutom default_tags.

Azure Databricks tillåter upp till 41 anpassade taggar.
idle_instance_autotermination_minutes INT32 Antalet minuter som inaktiva instanser som överskrider den min_idle_instances underhålls av poolen innan de avslutas. Om detta inte anges avslutas överflödiga inaktiva instanser automatiskt efter en standard tids gräns. Om det anges måste tiden vara mellan 0 och 10000 minuter. Om 0 anges tas överflödiga inaktiva instanser bort så snart som möjligt.
enable_elastic_disk BOOL Automatisk skalning av lokal lagring: när den är aktive rad kan instanserna i poolen dynamiskt få ytterligare disk utrymme när de har ont om disk utrymme.
disk_spec DiskSpec Definierar mängden inledande Fjärrlagring som är kopplat till varje instans i poolen.
preloaded_spark_versions En matris med STRING En lista med den kör tids version som poolen installeras på varje instans. Pool kluster som använder en förinstallerad körnings version startar snabbare eftersom de måste vänta på att avbildningen ska laddas ned. Du kan hämta en lista över tillgängliga körnings versioner med API-anrop för körnings versioner .
instance_pool_id STRING Den kanoniska unika identifieraren för instansen.
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 Aktuellt tillstånd för instansen.
stats InstancePoolStats Statistik om användningen av instans-poolen.

AzureDiskVolumeType

Alla typer av Azure-diskar som Azure Databricks stöder. Kontakta https://docs.microsoft.com/azure/virtual-machines/linux/disks-types

Name Beskrivning
PREMIUM_LRS Premium Storage-nivå, som backas upp av SSD.
STANDARD_LRS Standard lagrings nivå, backas upp av hård diskar.