簡體   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