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

问题描述

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

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

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

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

如何使用 ADF 执行此操作?

干杯!!!

解决方法

我找到了另一种解决方法,使 ADF Databricks 链接服务能够使用 Spot 实例创建作业集群。作为 IEEE 754,division by zero,Databricks 链接服务接口不支持 azure_attribute 集群属性。

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

{
  "azure_attributes.availability": {
    "type": "fixed","value": "SPOT_WITH_FALLBACK_AZURE","hidden": true
  }
}

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

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

从那里您可以执行 Alex Ott mentioned 并使用动态 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",}

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

,

我不确定现在是否可行,因为它需要在创建集群时指定 azure_attributes 参数。但应该有一个解决方法 - 创建一个 instance pool of the spot instances 并通过 instancePoolId property 指定该池。

更新:确实有效,唯一的缺点是需要使用 JSON 来配置 Linked Service(但可以可视化地配置所有内容,保存并从 Git 存储库中获取 JSON 并更新它需要的参数)。所以基本步骤如下:

  • 配置实例池以使用 Spot 实例:

enter image description here

  • 配置 Databricks 链接服务以使用实例池:
{
    "name": "DBName","type": "Microsoft.DataFactory/factories/linkedservices","properties": {
    "annotations": [],"type": "AzureDatabricks","typeProperties": {
        "domain": "https://some-url.azuredatabricks.net","newClusterNodeType": "Standard_DS3_v2","newClusterNumOfWorker": "5","instancePoolId":"<your-pool-id>","newClusterSparkEnvVars": {
        "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
        },"newClusterVersion": "8.2.x-scala2.12","encryptedCredential": "some-base-64"
    }
    }
}
  • 使用要执行的作业配置 ADF 管道 - 就像往常一样

  • 触发 ADF 管道,几分钟后看到实例池被使用:

enter image description here

,

请使用下面显示的 ADF 链接服务选项创建 Spot 实例

enter image description here