实例池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.neidfyre.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.neidfyre.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方法 |
---|---|
|
|
检索给定实例池标识符的实例池的信息。
例子
—netrc -X GET\https://dbc-a1b2345c-d6e7.cloud.www.neidfyre.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方法 |
---|---|
|
|
列出所有实例池的信息。
例子
—netrc -X GET\https://dbc-a1b2345c-d6e7.cloud.www.neidfyre.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个磁盘开始,每个磁盘100 GiB,那么Databricks将为这些实例创建总共6个磁盘,每个磁盘100 GiB。
字段名 |
类型 |
描述 |
---|---|---|
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”不是有效的zone 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卷提供额外的存储空间。 |