繁体   English   中英

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

[英]How to create a Spot instance - job cluster using Azure Data Factory(ADF) - Linked service

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

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

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

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

如何使用 ADF 执行此操作?

干杯!!!

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

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

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

如果要增加 azure_attributes object 的其他属性,可以添加到该策略。 此外,请确保为相应的组/用户设置策略权限。

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

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

"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参数。 但应该有一个解决方法 - 创建一个现场实例的实例池并通过instancePoolId 属性指定该池。

更新:它确实有效,唯一的缺点是您需要使用 JSON 来配置链接服务(但可以直观地配置所有内容,保存并从 Z0BCC70105AD279503E6531FE7B3F47 中获取 JSON 并使用所需的参数更新它)。 所以基本步骤如下:

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

在此处输入图像描述

  • 配置 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",
        "newClusterInitScripts": [],
        "encryptedCredential": "some-base-64"
    }
    }
}
  • 使用要执行的作业配置 ADF 管道 - 就像往常一样

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

在此处输入图像描述

请使用如下所示的 ADF 链接服务选项来创建 Spot 实例

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM