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
- Du måste ha behörighet att ansluta till poolen. se Åtkomstkontroll för pooler.
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_images
kan 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_capacity
ochidle_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. |
Få
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
- InstancePoolStats
- InstancePoolStatus
- PendingInstanceError
- DiskSpec
- DiskType
- InstancePoolAndStats
- AzureDiskVolumeType
- InstancePoolAzureAttributes
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. |