實例池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方法 |
---|---|
|
|
創建實例池。使用返回的instance_pool_id
查詢實例池的狀態,包括實例池當前分配的實例數量。如果你提供min_idle_instances
參數時,實例是在後台提供的,可以在idle_count
在InstancePoolStats等於請求的最小值。
如果您的帳戶有Databricks容器服務啟用實例池是用preloaded_docker_images
,您可以使用實例池以Docker映像啟動集群。實例池中的Docker映像不必與集群中的Docker映像相匹配。但是,在池上創建的集群的容器環境必須與實例池的容器環境保持一致:不能使用與創建的實例池preloaded_docker_images
啟動一個沒有Docker映像的集群,並且不能使用沒有Docker映像創建的實例池preloaded_docker_images
到使用Docker映像的啟動集群。
請注意
由於實例提供者限製(帳戶限製、現貨價格等)或瞬時網絡問題,Databricks可能無法獲得請求的一些空閑實例。集群仍然可以附加到實例池,但可能無法快速啟動。
例子
卷曲——netrc -X POST\https://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 |
|
池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。 |
max_capacity |
|
池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。 |
aws_attributes |
與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。 |
|
node_type_id |
|
池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。 |
custom_tags |
的數組ClusterTag |
實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。 Databricks最多允許43個自定義標簽。 |
idle_instance_autotermination_minutes |
|
空閑實例超過min_idle_instances的空閑實例在被終止前由池維護的分鍾數。如果不指定,多餘的空閑實例將在默認超時時間後自動終止。如果指定,則時間必須在0到10000分鍾之間。如果你指定 |
enable_elastic_disk |
|
自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。 |
disk_spec |
定義附加到池中每個實例的初始遠程存儲的數量。 |
|
preloaded_spark_versions |
的數組 |
池在每個實例上最多安裝一個運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。 |
preloaded_docker_images |
的數組DockerImage |
池在每個實例上最多安裝一個Docker映像的列表。使用預加載Docker映像的池集群啟動速度更快,因為它們不必等待映像下載。僅當您的帳戶有Databricks容器服務時可用啟用. |
編輯
端點 |
HTTP方法 |
---|---|
|
|
編輯實例池。這將修改現有實例池的配置。
請注意
隻能編輯以下值:
instance_pool_name
,min_idle_instances
,max_capacity
,idle_instance_autotermination_minutes
.你必須提供
instance_pool_name
價值。
例子
卷曲——netrc -X POST\https://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 |
|
池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。 |
max_capacity |
|
池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。 |
idle_instance_autotermination_minutes |
|
空閑實例超過的分鍾數 |
刪除
端點 |
HTTP方法 |
---|---|
|
|
刪除實例池。這將永久刪除實例池。池中的空閑實例異步終止。新的集群不能附加到池。連接到池的正在運行的集群將繼續運行,但不能自動擴展。連接到池的終止集群將無法啟動,直到它們被編輯為不再使用池。
得到
端點 |
HTTP方法 |
---|---|
|
|
檢索給定標識符的實例池的信息。
例子
卷曲——netc -X GET\https://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_name |
|
實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。 |
min_idle_instances |
|
池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。 |
max_capacity |
|
池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。 |
aws_attributes |
與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。 |
|
node_type_id |
|
池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。 |
custom_tags |
的數組ClusterTag |
實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。 Databricks最多允許43個自定義標簽。 |
idle_instance_autotermination_minutes |
|
空閑實例超過的分鍾數 |
enable_elastic_disk |
|
自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。 |
disk_spec |
定義附加到池中每個實例的初始遠程存儲的數量。 |
|
preloaded_spark_versions |
的數組 |
包含池安裝在每個實例上的運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。 |
instance_pool_id |
|
實例池的規範惟一標識符。 |
default_tags |
的數組ClusterTag |
由Databricks添加的標簽,不管任何custom_tags,包括:
|
狀態 |
實例池的當前狀態。 |
|
統計數據 |
實例池使用情況的統計信息。 |
|
狀態 |
池中失敗的掛起實例的狀態。 |
列表
端點 |
HTTP方法 |
---|---|
|
|
列出所有實例池的信息。
例子
卷曲——netc -X GET\https://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},“狀態”:{}},{“…”}]}
數據結構
在本節中:
InstancePoolStats
實例池使用情況的統計信息。
字段名 |
類型 |
描述 |
---|---|---|
used_count |
|
集群正在使用的活動實例的數目。 |
idle_count |
|
集群未使用的活動實例的數目。 |
pending_used_count |
|
分配給集群的掛起實例數。 |
pending_idle_count |
|
未分配給集群的掛起實例數。 |
DiskSpec
描述要附加到每個實例的初始磁盤集。例如,如果有3個實例,並且每個實例配置為從2個磁盤開始,每個磁盤100gib,那麼Databricks為這些實例總共創建6個磁盤,每個磁盤100gib。
字段名 |
類型 |
描述 |
---|---|---|
disk_type |
要附加的磁盤類型。 |
|
disk_count |
|
要附加到每個實例的磁盤數量:
|
disk_size |
|
要附加的每個磁盤的大小(以GiB為單位)。值必須落入特定實例類型所支持的範圍:
|
InstancePoolAndStats
字段名 |
類型 |
描述 |
---|---|---|
instance_pool_name |
|
實例池的名稱。這是創建和編輯操作所必需的。它必須是唯一的,非空的,並且小於100個字符。 |
min_idle_instances |
|
池維護的空閑實例的最小數量。這是活動集群使用的任何實例之外的實例。 |
max_capacity |
|
池可以包含的最大實例數,包括空閑實例和集群正在使用的實例。一旦達到最大容量,就不能從池中創建新的集群,現有的集群也不能自動擴展,直到通過集群終止或降級使池中的一些實例空閑為止。 |
aws_attributes |
與在Amazon Web Services上運行的實例池相關的屬性。如果在創建時未指定,則使用一組默認值。 |
|
node_type_id |
|
池中實例的節點類型。連接到池的所有集群繼承此節點類型,池的空閑實例基於此類型分配。方法可以檢索可用節點類型的列表列出節點類型API調用。 |
custom_tags |
的數組ClusterTag |
實例池資源的附加標記。Databricks除了使用default_tags外,還使用這些標記標記所有池資源(例如AWS實例和EBS卷)。 Databricks最多允許43個自定義標簽。 |
idle_instance_autotermination_minutes |
|
空閑實例超過的分鍾數 |
enable_elastic_disk |
|
自動伸縮本地存儲:當啟用時,池中的實例在磁盤空間不足時動態地獲取額外的磁盤空間。 |
disk_spec |
定義附加到池中每個實例的初始遠程存儲的數量。 |
|
preloaded_spark_versions |
的數組 |
包含池安裝在每個實例上的運行時版本的列表。使用預加載運行時版本的池集群啟動更快,因為它們不必等待映像下載。方法可以檢索可用運行時版本的列表運行時版本API調用。 |
instance_pool_id |
|
實例池的規範惟一標識符。 |
default_tags |
的數組ClusterTag |
由Databricks添加的標簽,不管任何custom_tags,包括:
|
狀態 |
實例池的當前狀態。 |
|
統計數據 |
實例池使用情況的統計信息。 |
InstancePoolAwsAttributes
在創建實例池期間設置的與Amazon Web Services相關的屬性。
字段名 |
類型 |
描述 |
---|---|---|
可用性 |
用於池中所有實例的可用性類型。隻有 |
|
zone_id |
|
實例池所在的可用分區/數據中心的標識。該字符串的形式類似於“us-west-2a”。提供的可用分區必須與Databricks部署在同一區域。例如,如果Databricks部署在“us-east-1”區域,則“us-west-2a”不是有效的區域ID。這是一個可選字段。如果不指定,則使用默認分區。方法可以找到可用分區的列表以及默認值列表區域API。 |
spot_bid_price_percent |
|
AWS現貨實例的最大價格,占對應實例類型按需價格的百分比。例如,如果該字段設置為50,並且實例池需要一個新的 |
EbsVolumeType
Databricks支持的所有EBS卷類型。看到https://aws.amazon.com/ebs/features/獲取詳細信息。
的名字 |
描述 |
---|---|
GENERAL_PURPOSE_SSD |
使用AWS gp2 EBS卷提供額外的存儲。 |
THROUGHPUT_OPTIMIZED_HDD |
使用AWS st1卷提供額外的存儲。 |