實例池API 2.0

實例池API允許您創建、編輯、刪除和列出實例池。

實例池通過維護一組空閑的、隨時可用的雲實例來減少集群啟動和自動伸縮時間。當連接到某個池的集群需要一個實例時,它首先嚐試分配該池的一個空閑實例。如果池沒有空閑實例,它將通過從實例提供程序分配一個新實例來擴展,以適應集群的請求。當一個集群釋放一個實例時,它會返回到池中,供另一個集群使用。隻有附屬於池的集群才能使用池的空閑實例。

當實例在池中空閑時,Databricks不向DBUs收費。應用實例提供程序計費。看到定價

需求

  • 您必須擁有附加到池的權限;看到池訪問控製

  • 您必須為創建AWS帳戶時使用的跨帳戶IAM角色關聯的訪問策略或密鑰添加以下權限:

    “行動”“ec2: AssociateIamInstanceProfile”“ec2: DescribeIamInstanceProfileAssociations”“ec2: DisassociateIamInstanceProfile”“ec2: ReplaceIamInstanceProfileAssociation”“ec2: DeleteTags”

    關於如何更新現有的跨帳戶IAM角色或密鑰的完整權限列表和說明,請參見創建跨帳戶IAM角色或聯係您的內部Databricks管理員。

    重要的

    如果不添加這些權限,將無法啟動集群。

重要的

要訪問Databricks的REST api,您必須進行身份驗證

創建

端點

HTTP方法

2.0 / instance-pools /創建

帖子

創建實例池。使用返回的instance_pool_id查詢實例池的狀態,包括實例池當前分配的實例數量。如果你提供min_idle_instances參數時,實例是在後台提供的,可以在idle_countInstancePoolStats等於請求的最小值。

如果您的帳戶有Databricks容器服務啟用實例池是用preloaded_docker_images,您可以使用實例池以Docker映像啟動集群。實例池中的Docker映像不必與集群中的Docker映像相匹配。但是,在池上創建的集群的容器環境必須與實例池的容器環境保持一致:不能使用與創建的實例池preloaded_docker_images啟動一個沒有Docker映像的集群,並且不能使用沒有Docker映像創建的實例池preloaded_docker_images到使用Docker映像的啟動集群。

請注意

由於實例提供者限製(帳戶限製、現貨價格等)或瞬時網絡問題,Databricks可能無法獲得請求的一些空閑實例。集群仍然可以附加到實例池,但可能無法快速啟動。

例子

卷曲——netrc -X POSThttps://dbc-a1b2345c-d6e7.cloud.www.eheci.com/api/2.0/instance-pools/create——數據@create-instance-pool.json

create-instance-pool.json

“instance_pool_name”“把遊泳池”“node_type_id”“i3.xlarge”“min_idle_instances”10“aws_attributes”“可用性”“現貨”},“custom_tags”“關鍵”“我的鑰匙”“價值”“自己的價值”
“instance_pool_id”“1234 - 567890 - fetch12池a3bcdefg”

請求結構

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。

min_idle_instances

INT32

池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。

max_capacity

INT32

池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。

aws_attributes

InstancePoolAwsAttributes

與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。

node_type_id

字符串

池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。

custom_tags

的數組ClusterTag

實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。

Databricks最多允許43個自定義標簽。

idle_instance_autotermination_minutes

INT32

空閑實例超過min_idle_instances的空閑實例在被終止前由池維護的分鍾數。如果不指定,多餘的空閑實例將在默認超時時間後自動終止。如果指定,則時間必須在0到10000分鍾之間。如果你指定0,將盡快刪除多餘的空閑實例。

enable_elastic_disk

保齡球

自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。

disk_spec

DiskSpec

定義附加到池中每個實例的初始遠程存儲的數量。

preloaded_spark_versions

的數組字符串

池在每個實例上最多安裝一個運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。

preloaded_docker_images

的數組DockerImage

池在每個實例上最多安裝一個Docker映像的列表。使用預加載Docker映像的池集群啟動速度更快,因為它們不必等待映像下載。僅當您的帳戶有Databricks容器服務時可用啟用

響應結構

字段名

類型

描述

instance_pool_id

字符串

已創建的實例池ID。

編輯

端點

HTTP方法

2.0 / instance-pools /編輯

帖子

編輯實例池。這將修改現有實例池的配置。

請注意

  • 隻能編輯以下值:instance_pool_namemin_idle_instancesmax_capacity,idle_instance_autotermination_minutes

  • 你必須提供instance_pool_name價值。

例子

卷曲——netrc -X POSThttps://dbc-a1b2345c-d6e7.cloud.www.eheci.com/api/2.0/instance-pools/edit——數據@edit-instance-pool.json

edit-instance-pool.json

“instance_pool_id”“1234 - 567890 - fetch12池a3bcdefg”“instance_pool_name”“my-edited-pool”“min_idle_instances”5“max_capacity”200“idle_instance_autotermination_minutes”30.
{}

請求結構

字段名

類型

描述

instance_pool_id

字符串

要編輯的實例池的ID。此字段為必填項。

instance_pool_name

字符串

實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。

min_idle_instances

INT32

池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。

max_capacity

INT32

池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。

idle_instance_autotermination_minutes

INT32

空閑實例超過的分鍾數min_idle_instances在終止前由池維護。如果不指定,多餘的空閑實例將在默認超時時間後自動終止。如果指定,則時間必須在0到10000分鍾之間。如果提供了0,則會盡快刪除多餘的空閑實例。

刪除

端點

HTTP方法

2.0 / instance-pools /刪除

帖子

刪除實例池。這將永久刪除實例池。池中的空閑實例異步終止。新的集群不能附加到池。連接到池的正在運行的集群將繼續運行,但不能自動擴展。連接到池的終止集群將無法啟動,直到它們被編輯為不再使用池。

例子

卷曲——netrc -X POSThttps://dbc-a1b2345c-d6e7.cloud.www.eheci.com/api/2.0/instance-pools/delete——數據“{"instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg"}”
{}

請求結構

字段名

類型

描述

instance_pool_id

字符串

要刪除的實例池ID。

得到

端點

HTTP方法

2.0 / instance-pools /

得到

檢索給定標識符的實例池的信息。

例子

卷曲——netc -X GEThttps://dbc-a1b2345c-d6e7.cloud.www.eheci.com/api/2.0/instance-pools/get——數據“{"instance_pool_id": "1234-567890-fetch12-pool-A3BcdEFg"}”
“instance_pool_name”“mypool”“min_idle_instances”0“aws_attributes”“可用性”“現貨”“zone_id”“us-west-2a”“spot_bid_price_percent”One hundred.},“node_type_id”“c4.2xlarge”“custom_tags”“我的鑰匙”“自己的價值”},“idle_instance_autotermination_minutes”60“enable_elastic_disk”“disk_spec”“disk_type”“ebs_volume_type”“GENERAL_PURPOSE_SSD”},“disk_count”1“disk_size”One hundred.},“preloaded_spark_versions”“5.4.x-scala2.11”],“instance_pool_id”“1234 - 567890 - fetch12池a3bcdefg”“default_tags”“供應商”“磚”“DatabricksInstancePoolCreatorId”“100125”“DatabricksInstancePoolId”“1234 - 567890 - fetch12池a3bcdefg”},“狀態”“活躍”“統計數據”“used_count”10“idle_count”5“pending_used_count”5“pending_idle_count”5},“狀態”{}

請求結構

字段名

類型

描述

instance_pool_id

字符串

要檢索其信息的實例池。

響應結構

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。

min_idle_instances

INT32

池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。

max_capacity

INT32

池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。

aws_attributes

InstancePoolAwsAttributes

與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。

node_type_id

字符串

池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。

custom_tags

的數組ClusterTag

實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。

Databricks最多允許43個自定義標簽。

idle_instance_autotermination_minutes

INT32

空閑實例超過的分鍾數min_idle_instances在終止前由池維護。如果不指定,多餘的空閑實例將在默認超時時間後自動終止。如果指定,則時間必須在0到10000分鍾之間。如果提供了0,則會盡快刪除多餘的空閑實例。

enable_elastic_disk

保齡球

自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。

disk_spec

DiskSpec

定義附加到池中每個實例的初始遠程存儲的數量。

preloaded_spark_versions

的數組字符串

包含池安裝在每個實例上的運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。

instance_pool_id

字符串

實例池的規範惟一標識符。

default_tags

的數組ClusterTag

由Databricks添加的標簽,不管任何custom_tags,包括:

  • 供應商:磚

  • DatabricksInstancePoolCreatorId: < create_user_id >

  • DatabricksInstancePoolId: < instance_pool_id >

狀態

InstancePoolState

實例池的當前狀態。

統計數據

InstancePoolStats

實例池使用情況的統計信息。

狀態

InstancePoolStatus

池中失敗的掛起實例的狀態。

列表

端點

HTTP方法

2.0 / instance-pools /列表

得到

列出所有實例池的信息。

例子

卷曲——netc -X GEThttps://dbc-a1b2345c-d6e7.cloud.www.eheci.com/api/2.0/instance-pools/list
“instance_pools”“instance_pool_name”“mypool”“min_idle_instances”0“aws_attributes”“可用性”“現貨”“zone_id”“us-west-2a”“spot_bid_price_percent”One hundred.},“node_type_id”“c4.2xlarge”“idle_instance_autotermination_minutes”60“enable_elastic_disk”“disk_spec”“disk_type”“ebs_volume_type”“GENERAL_PURPOSE_SSD”},“disk_count”1“disk_size”One hundred.},“preloaded_spark_versions”“5.4.x-scala2.11”],“instance_pool_id”“1234 - 567890 - fetch12池a3bcdefg”“default_tags”“供應商”“磚”“DatabricksInstancePoolCreatorId”“100125”“DatabricksInstancePoolId”“1234 - 567890 - fetch12池a3bcdefg”},“狀態”“活躍”“統計數據”“used_count”10“idle_count”5“pending_used_count”5“pending_idle_count”5},“狀態”{}},“…”

響應結構

字段名

類型

描述

instance_pools

的數組InstancePoolStatus

實例池的列表,包括它們的統計信息。

數據結構

InstancePoolState

實例池的狀態。當前允許的狀態轉換為:

  • 活躍的->刪除

的名字

描述

活躍的

實例池處於活動狀態。集群可以附加到它。

刪除

表示該實例池已被刪除,不再可訪問。

InstancePoolStats

實例池使用情況的統計信息。

字段名

類型

描述

used_count

INT32

集群正在使用的活動實例的數目。

idle_count

INT32

集群未使用的活動實例的數目。

pending_used_count

INT32

分配給集群的掛起實例數。

pending_idle_count

INT32

未分配給集群的掛起實例數。

InstancePoolStatus

池中失敗的掛起實例的狀態。

字段名

類型

描述

pending_instance_errors

的數組PendingInstanceError

失敗的掛起實例的錯誤消息列表。

PendingInstanceError

掛起實例失敗的錯誤消息。

字段名

類型

描述

即instance_id

字符串

失敗的實例ID。

消息

字符串

描述失敗原因的消息。

DiskSpec

描述要附加到每個實例的初始磁盤集。例如,如果有3個實例,並且每個實例配置為從2個磁盤開始,每個磁盤100gib,那麼Databricks為這些實例總共創建6個磁盤,每個磁盤100gib。

字段名

類型

描述

disk_type

DiskType

要附加的磁盤類型。

disk_count

INT32

要附加到每個實例的磁盤數量:

  • 此特性僅對支持的節點類型啟用。

  • 用戶可以根據節點類型選擇最多支持的硬盤數量。

  • 對於沒有本地磁盤的節點類型,至少需要指定一個磁盤。

disk_size

INT32

要附加的每個磁盤的大小(以GiB為單位)。值必須落入特定實例類型所支持的範圍:

  • 通用SSD: 100 - 4096 GiB

  • 吞吐量優化HDD: 500 - 4096 GiB

DiskType

描述磁盤的類型。

字段名

類型

描述

ebs_volume_type

EbsVolumeType

要使用的EBS卷類型。

InstancePoolAndStats

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。

min_idle_instances

INT32

池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。

max_capacity

INT32

池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。

aws_attributes

InstancePoolAwsAttributes

與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。

node_type_id

字符串

池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。

custom_tags

的數組ClusterTag

實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。

Databricks最多允許43個自定義標簽。

idle_instance_autotermination_minutes

INT32

空閑實例超過的分鍾數min_idle_instances在終止前由池維護。如果不指定,多餘的空閑實例將在默認超時時間後自動終止。如果指定,則時間必須在0到10000分鍾之間。如果提供了0,則會盡快刪除多餘的空閑實例。

enable_elastic_disk

保齡球

自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。

disk_spec

DiskSpec

定義附加到池中每個實例的初始遠程存儲的數量。

preloaded_spark_versions

的數組字符串

包含池安裝在每個實例上的運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。

instance_pool_id

字符串

實例池的規範惟一標識符。

default_tags

的數組ClusterTag

由Databricks添加的標簽,不管任何custom_tags,包括:

  • 供應商:磚

  • DatabricksInstancePoolCreatorId: < create_user_id >

  • DatabricksInstancePoolId: < instance_pool_id >

狀態

InstancePoolState

實例池的當前狀態。

統計數據

InstancePoolStats

實例池使用情況的統計信息。

InstancePoolAwsAttributes

在創建實例池期間設置的與Amazon Web Services相關的屬性。

字段名

類型

描述

可用性

AwsAvailability

用於池中所有實例的可用性類型。隻有ON_DEMAND而且現貨都受支持。

zone_id

字符串

實例池所在的可用分區/數據中心的標識。該字符串的形式類似於“us-west-2a”。提供的可用分區必須與Databricks部署在同一區域。例如,如果Databricks部署在“us-east-1”區域,則“us-west-2a”不是有效的區域ID。這是一個可選字段。如果不指定,則使用默認分區。方法可以找到可用分區的列表以及默認值列表區域API。

spot_bid_price_percent

INT32

AWS現貨實例的最大價格,占對應實例類型按需價格的百分比。例如,如果該字段設置為50,並且實例池需要一個新的i3.xlarge現貨舉例,則最高價格為按需價格的一半i3.xlarge實例。類似地,如果該字段設置為200,則最大價格是按需價格的兩倍i3.xlarge實例。如果不指定,默認值為100。當為該實例池請求現貨實例時,隻考慮其最大價格百分比與該字段匹配的現貨實例。為安全起見,該字段的值不能大於10000。

EbsVolumeType

Databricks支持的所有EBS卷類型。看到https://aws.amazon.com/ebs/features/獲取詳細信息。

的名字

描述

GENERAL_PURPOSE_SSD

使用AWS gp2 EBS卷提供額外的存儲。

THROUGHPUT_OPTIMIZED_HDD

使用AWS st1卷提供額外的存儲。