微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Databricks 上使用 Azure Spot 实例

如何解决如何在 Databricks 上使用 Azure Spot 实例

Spot 实例可以以较低的价格使用云中的免费资源,但是如果云需求增加,您的资源将被解除分配。这对于非关键工作负载非常有用,只要您能负担得起一些已完成的工作。更多信息2 3

Databricks 可以运行 spot instances on AWS,但没有关于如何在 Azure 上执行此操作的文档。

是否可以在 Azure Spot 实例上运行 Databricks 集群?

解决方法

是的,可以但不能使用 Databricks UI。要在 Databricks 上使用 Azure Spot 实例,您需要使用 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_AZUREspot_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 都会是 Spot 实例。要确认这一点,您可以转到在由 databricks 管理的资源组中分配的 worker VM 内的配置选项卡。您将看到 Azure 现货处于活动状态并配置了价格。

enter image description here

AWS 上的 Databricks 对 SPOT 字段具有 more configuration options 之类的 availability。但是,在文档发布之前,我们需要等待或使用 try-error 方法进行配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。