📕

Azure DatabricksのUnity Catalogを有効化する方法

に公開1

Azure Databricksの検証環境でUnity Catalogを有効にしてほしいと依頼があったので、その手順のメモです。

ADLS Gen2 ストレージを準備

Unity Catalog のルートストレージになります。

下記はAzure CLIのコマンドになりますが、手動でやるならAzure Portalでの作業になります。

ストレージアカウント作成(Azure CLI)

# リソースグループ作成
az group create -n rg-databricks -l japaneast

# ストレージアカウント作成 (Hierarchical namespace 有効)
az storage account create \
  -n dbrucstorage123 \
  -g rg-databricks \
  -l japaneast \
  --sku Standard_LRS \
  --kind StorageV2 \
  --hierarchical-namespace true

# コンテナー作成
az storage container create \
  --account-name dbrucstorage123 \
  --name unitycatalog

# ディレクトリ作成
az storage fs directory create \
  --account-name dbrucstorage123 \
  --file-system unitycatalog \
  --name uc-metastore

Managed ID作成

# リソース作成
az identity create -g <resource-group> -n <managed-id-name>

# managed-identity-id確認
az identity show -g <resource-group> -n <managed-id-name> --query principalId -o tsv

ここで出力されたものが、<managed-identity-id>

RBAC付与

az role assignment create \
  --assignee <managed-identity-id> \
  --role "Storage Blob Data Contributor" \
  --scope "/subscriptions/<sub-id>/resourceGroups/rg-databricks/providers/Microsoft.Storage/storageAccounts/dbrucstorage123"

Azure PortalでAzure Databricks用のアクセスコネクタを作成

Azure Databricks Account ConsoleでUnity Catalogを有効化

https://accounts.azuredatabricks.net
にアクセス。Workspace Consoleとは別のアカウント管理のページです。

  1. 左メニューでCatalog -> メタストアを作成するボタンを押す
    ※既にメタストアがあったため、初期状態は違うかもしれないです。

  1. このページに入力していきます。

リージョン

メタストアのリージョンを選択します。このメタストアに割り当て可能なのは、選択したリージョンのワークスペースのみになります。

という注釈以外にも、1リージョンにつきメタストアは1つのようです。
⚠️マークがついている既にメタストアがあるリージョンは選べません。

ADLS Gen2パス

abfss://unitycatalog@dbrucstorage123.dfs.core.windows.net/unitycatalog

アクセスコネクターID

Azure Portalで作成したAzure Databricks用のアクセスコネクタのリソースIDを入れます。

ユーザーが割り当てたマネージドアイデンティティID

画面にはないですが、Azure PortalのManaged IDのIDが求められます。下記みたいなものです。

/subscriptions/<sub-id>/resourcegroups/rg-databricks/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-id-name>

メタストアが作成できると、ワークスペースを割り当てられます。

この辺のUIは直感的なので、説明は割愛しますが、ワークスペースを割り当てた際に、
「Unity Catalogを有効にしますか?」のダイアログが表示され、許可しました。

Azure Databricks Workspace Consoleで確認すると対象のワークスペースに、カタログ情報が追加されていそうです。

ヘッドウォータース

Discussion

せとぅせとぅ

ありがとうございましたm(__)m
FreeEditionでは特に何もせず使えていたのですが、おそらくFreeEditionがすごいんですね。