You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure CLI部署Databricks工作区时启用Unity Catalog并部署外部存储账户?

解决方案

要实现你的需求,需要分三步修改原有脚本:创建带Unity Catalog的Databricks工作区、部署符合要求的外部存储账户、配置Unity Catalog元存储与存储账户的关联。以下是完整的PowerShell脚本和步骤说明:

完整脚本

function Create-DatabricksWithUC {
    param (
        [string] $rgName,
        [string] $dbName,
        [string] $storageAccountName,
        [string] $containerName = "uc-root-storage"
    )

    # 1. 创建启用Unity Catalog的Databricks工作区
    Write-Host "正在创建Databricks工作区并启用Unity Catalog..."
    az databricks workspace create `
        --resource-group $rgName `
        --name $dbName `
        --location westeurope `
        --enable-unity-catalog `
        --output none

    # 2. 创建支持ADLS Gen2的外部存储账户(Unity Catalog要求层级命名空间)
    Write-Host "正在创建外部存储账户..."
    az storage account create `
        --name $storageAccountName `
        --resource-group $rgName `
        --location westeurope `
        --sku Standard_RAGRS `
        --enable-hierarchical-namespace true `
        --output none

    # 3. 创建存储容器作为Unity Catalog元存储的根存储
    Write-Host "正在创建存储容器..."
    az storage container create `
        --name $containerName `
        --account-name $storageAccountName `
        --output none

    # 4. 获取Databricks工作区的元存储ID(启用UC后自动创建元存储)
    $metastoreId = az databricks metastore list `
        --resource-group $rgName `
        --query "[0].metastoreId" `
        --output tsv

    # 5. 关联存储容器到Unity Catalog元存储
    Write-Host "正在关联存储到Unity Catalog元存储..."
    az databricks metastore update `
        --resource-group $rgName `
        --metastore-id $metastoreId `
        --storage-root "abfss://$containerName@$storageAccountName.dfs.core.windows.net/" `
        --output none

    Write-Host "Databricks工作区(含Unity Catalog)及外部存储部署完成!"
}

# 使用示例
# Create-DatabricksWithUC -rgName "your-rg" -dbName "your-db-workspace" -storageAccountName "youruniquestorageacc"

关键说明

  • 启用Unity Catalog:在az databricks workspace create命令中添加--enable-unity-catalog参数,创建工作区时直接启用UC,无需后续手动开启。
  • 存储账户要求:必须开启--enable-hierarchical-namespace true,因为Unity Catalog依赖ADLS Gen2的层级命名空间来管理数据资产。
  • 元存储关联:启用UC后会自动生成一个元存储,需要将存储容器设置为元存储的根存储,这样UC才能将元数据(如数据库、表)与实际存储的数据绑定。
  • 权限注意:确保执行Azure CLI的账号拥有以下权限:资源组的 Contributor 权限、Databricks工作区的 Contributor 权限、存储账户的 Contributor 权限。

内容的提问来源于stack exchange,提问作者Greencolor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 13:57:09