如何使用 Azure 数据工厂 (ADF) 创建 Spot 实例 - 作业集群 - 链接服务

man*_*_nz 2 azure cost-management azure-data-factory azure-databricks databricks-workflows

我有一个包含 Databricks 活动的 ADF 管道。

该活动每次都会创建一个新的作业集群,并且我已将所有必需的 Spark 配置添加到相应的链接服务中。

现在,随着 Databricks 提供 Spot 实例,我想在 Databricks 中使用 Spot 配置创建新集群。

我尝试从LinkedService文档中找到帮助,但没有成功!

如何使用 ADF 执行此操作?

干杯!!!

Dev*_*itt 5

我找到了另一种解决方法,使 ADF Databricks 链接服务能够使用 Spot 实例创建作业集群。正如Alex Ott 提到的,Databricks 链接服务接口不支持 azure_attribute 群集属性。

相反,我最终创建了一个强制执行现货实例的集群策略:

{
  "azure_attributes.availability": {
    "type": "fixed",
    "value": "SPOT_WITH_FALLBACK_AZURE",
    "hidden": true
  }
}
Run Code Online (Sandbox Code Playgroud)

如果要增强 azure_attributes 对象的其他属性,可以添加到该策略。另外,请确保为适当的组/用户设置策略权限。

创建策略后,您将需要检索策略 ID。我使用对 2.0/policies/clusters/list 端点的 REST 调用来获取该值。

从那里,您可以执行Alex Ott 建议的操作,并使用动态 json 选项创建链接服务,并将具有适当策略 ID 的 policyId 属性添加到 typeProperties 对象:

"typeProperties": {
  "domain": "Your Domain",
  "newClusterNodeType": "@linkedService().ClusterNodeType",
  "newClusterNumOfWorker": "@linkedService().NumWorkers",
  "newClusterVersion": "7.3.x-scala2.12",
  "newClusterInitScripts": [],
  "newClusterDriverNodeType": "@linkedService().DriverNodeType",
  "policyId": "Your policy id",
}
Run Code Online (Sandbox Code Playgroud)

现在,当您调用 ADF 管道时,它将使用集群策略创建一个作业集群,以将 azure_attributes 的可用性属性限制为您指定的任何内容。