是的,可以,但不能使用 Databricks UI。要在 Databricks 上使用 Azure 现货实例,您需要使用 databricks cli。
注意
使用 cli 工具可以管理创建、编辑、删除集群和实例池。不过,为了简化流程,我将专注于编辑现有集群。
您可以使用pip install databricks-cli 安装databricks cli,并使用databricks configure --token 配置您的凭据。欲了解更多信息,请访问databricks documentation。
运行命令datbricks clusters list知道你要修改的集群ID:
$ datbricks clusters list
0422-112415-fifes919 Big Spark3 TERMINATED
0612-341234-jails230 Normal Spark3 TERMINATED
0212-623261-mopes727 Small 7.6 TERMINATED
就我而言,我有 3 个集群。第一列是集群 ID,第二列是集群的名称。最后一列是状态。
databricks cluster get 命令以 json 格式生成集群配置。让我们生成json文件来修改它:
databricks clusters get --cluster-id 0422-112415-fifes919 > /tmp/my_cluster.json
此文件包含与集群相关的所有配置,例如名称、实例类型、所有者……在我们的例子中,我们正在寻找 azure_attributes 部分。您将看到类似以下内容:
...
"azure_attributes": {
"first_on_demand": 1,
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": -1.0
},
...
我们需要用我们的出价将availability 更改为SPOT_WITH_FALLBACK_AZURE 和spot_bid_max_price。使用您喜欢的工具编辑文件。结果应该是这样的:
...
"azure_attributes": {
"first_on_demand": 1,
"availability": "SPOT_WITH_FALLBACK_AZURE",
"spot_bid_max_price": 0.4566
},
...
修改后,只需使用 databricks clusters edit 使用新的配置文件更新集群即可:
databricks clusters edit --json-file /tmp/my_cluster.json
现在,每次启动集群时,worker 都会成为现场实例。要确认这一点,您可以转到分配在 databricks 管理的资源组中的 worker 虚拟机内的配置选项卡。您将看到 Azure 现货处于活动状态并已配置价格。
AWS 上的 Databricks 的 availability 字段具有 more configuration options 与 SPOT 类似。但是,在文档发布之前,我们需要等待或配置 try-error 方法。