Unity カタログメタストアの管理
この記事では、Azure Databricks アカウントの Unity カタログ メタストアの動作を更新、削除、および管理する方法について説明します。
Unity カタログ メタストアとその作成方法については、「 Unity カタログ メタストアの作成を参照してください。
メタストアを新しいワークスペースに自動的に割り当てできるようにする
既存の Unity カタログ メタストアを、そのメタストアのリージョン内の新しいワークスペースに自動的に割り当てるには、アカウント管理者がメタストアのワークスペースの自動割り当てを有効にすることができます。 この設定が選択されていない場合、メタストアと同じリージョンにワークスペースを作成する管理者は、Unity カタログのワークスペースを手動で有効にし、ドロップダウンからメタストアを選択する必要があります。
アカウント管理者がこのオプションを有効にする前に、新しいワークスペースに対する次の影響を理解しておく必要があります。
- ワークスペース カタログが作成され、すべてのワークスペース ユーザーに、その中にオブジェクトを作成するために必要な特権が付与されます。 「Unity Catalog の自動有効化」を参照してください。
- ワークスペース管理者には、カタログや外部の場所など、メタストア レベルのセキュリティ保護可能なオブジェクトを作成するために必要なアクセス許可があります。 「ワークスペースで Unity Catalog が自動的に有効になる場合のワークスペース管理特権」を参照してください。
- メタストア レベルのストレージがメタストアに対して既に有効になっている場合、ワークスペースはそのストレージを使用できるようになります。 「Unity Catalog の管理されたストレージの場所の指定」を参照してください。
- メタストア管理者がメタストアに対して定義されている場合、メタストアにアタッチされているすべてのワークスペース内のすべてのセキュリティ保護可能なオブジェクトへのアクセスを管理できます。 「メタストア管理者」を参照してください。
- メタストアの差分共有設定 (有効または無効) は、メタストアにアタッチされているすべてのワークスペースに適用されます。 「 アカウントの差分共有を設定する (プロバイダー向け)を参照してください。
自動割り当てを有効にするには:
- アカウント管理者として、Azure Databricks アカウント コンソールに移動します。
- [カタログ] をクリックします。
- メタストアを選択します。
- [構成] タブの [ワークスペースの割り当てで、
<region>
の新しいワークスペースこのメタストアに自動的に割り当てる] を選択。 - 確認ダイアログで、 [自動割り当てを有効にする] をクリックします。
既存のメタストアにマネージド ストレージを追加する
メタストアレベルのマネージド ストレージは省略可能であり、自動的に作成されるメタストアについては含まれていません。 複数のワークスペースのデータを一元的に格納するデータ分離モデルを使用する場合は、メタストアレベルのストレージをメタストアに追加することをお勧めします。 個人のステージング場所を使用する Azure Databricks パートナーである場合は、メタストア レベルのストレージが必要です。
また、「Unity Catalog のマネージド ストレージの場所を指定する」も参照してください。
要件
- Unity Catalog メタストアに少なくとも 1 つのワークスペースがアタッチされている必要があります。
- 以下の Azure Databricks アクセス許可が必要です。
- 外部の場所を作成するには、メタストア管理者か、
CREATE EXTERNAL LOCATION
とCREATE STORAGE CREDENTIAL
の特権を持つユーザーである必要があります。 - メタストア定義にストレージの場所を追加するには、アカウント管理者である必要があります。アカウントでアカウント管理者ロールを有効にする手順については、「最初のアカウント管理者を確立する」を参照してください。
- 外部の場所を作成するには、メタストア管理者か、
- 以下の Azure テナント アクセス許可が必要です。
- Azure Data Lake Storage Gen2 で使用するストレージ アカウントを作成するアクセス許可。 このストレージ アカウントには階層型名前空間が必要です。 「Azure Data Lake Storage Gen2 で使用するストレージ アカウントを作成する」をご覧ください。
- システム割り当てマネージド ID を保持するための新しいリソースを作成するアクセス許可。 これには、テナント内の任意のサブスクリプションのリソース グループの共同作成者または所有者である必要があります。
手順 1: ストレージの場所を作成する
「手順 1 (省略可能): メタストア レベルのマネージド ストレージ用のストレージ コンテナーを作成する」と「手順 2 (省略可能): マネージド ストレージの場所にアクセスするマネージド ID を作成する」の手順に従って、Azure Data Lake Storage Gen2 にストレージ コンテナーを作成し、ストレージ コンテナーにアクセスできるマネージド ID を保持する Azure Databricks アクセス コネクタを作成します。
手順 2: Unity Catalog に外部の場所を作成する
この手順では、先ほど作成した ADLS Gen 2 パスを参照する外部の場所を Unity Catalog に作成します。
ストレージ資格情報を作成します。
ストレージ資格情報は、「手順 1: ストレージの場所を作成する」で作成した Azure マネージド ID を表します。
「Azure Data Lake Storage Gen2 に接続するためのストレージ資格情報を作成する」の手順に従います。
前の手順で作成したストレージ資格情報と、「手順 1: ストレージの場所を作成する」で作成した ADLS Gen 2 ストレージ コンテナーを参照する外部の場所を作成します。
自分自身に外部の場所に対する
CREATE MANAGED STORAGE
アクセス許可を付与します。- 外部の場所の名前をクリックして、詳細ウィンドウを開きます。
- [アクセス許可] タブで [付与] をクリックします。
- [
<external location>
の許可] ダイアログの [プリンシパル] フィールドで自分を選択し、[CREATE MANAGED STORAGE
] を選択します。 - [許可] をクリックします。
手順 3: メタストアにストレージの場所を追加する
メタストア ストレージ バケットを表す外部の場所を作成したら、それをメタストアに追加できます。
アカウント管理者として、アカウント コンソールにログインします。
[カタログ] をクリックします。
メタストアの名前をクリックします。
メタストア管理者であることを確認します。
そうでない場合は、[編集] をクリックし、自分をメタストア管理者として割り当てます。この手順が完了したら、自分の割り当てを解除できます。
[構成] タブの [ADLS Gen 2 パス] の横にある [設定] をクリックします。
[Set metastore root] (メタストア ルートの設定) ダイアログで、外部の場所の作成に使用した ADLS Gen 2 パスを入力し、[更新] をクリックします。
このパスは一度設定した後は変更できませんが、必要に応じて削除して新しいパスを追加することができます。
メタストア レベルのストレージを削除する
マネージド テーブルとボリューム (メタストア ストレージ ルートとも呼ばれます) のメタストア レベルのストレージがあるが、カタログまたはスキーマ レベルでデータ ストレージの分離を適用する場合は、メタストアのメタストア レベルのストレージ オプションを削除できます。 実行すると、次のことが発生します。
- ストレージ ルートが指定されていない既存のカタログには、メタストア ストレージ ルートのクラウド ストレージの場所がカタログ レベルのマネージド ストレージの場所として指定されます。 つまり、メタストア ストレージ ルートは、これらのカタログに "プッシュダウン" されます。 これらのカタログ内のデータへのアクセスは、中断することなく引き続き機能します。
- メタストアの作成方法によっては、メタストア ストレージ ルートに対して Unity カタログでセキュリティ保護可能な外部の場所が定義されていない可能性があります。 その場合、新しい外部の場所と関連するストレージの認証情報が作成されます。 新しい外部の場所には、既定で
prior_metastore_root_location
という名前が付けられています。 - ユーザーがカタログを作成するたびに、Unity カタログに外部の場所として登録されている専用のストレージの場所を指定する必要があります。
手記
Delta Sharing を使用してノートブックを共有し、メタストア ルートを共有ノートブック ストレージとして使用した場合は、メタストア ルートを削除する前に次の操作を行う必要があります。
- 共有からノートブックを削除します。
- 専用の保存場所を使用してノートブックを再追加します。
「共有にノートブック ファイルを追加する」を参照してください。
メタストア ストレージ ルートを削除するには:
- アカウント管理者として、アカウント コンソールにログインします。
- [カタログ] をクリックします。
- メタストアの名前をクリックします。
- [構成] タブの [ADLS Gen 2 パス] で、[削除] ボタンをクリックします。
- 確認ダイアログで、の削除
クリックします。
メタストア管理者を追加する
メタストア管理者は省略可能ですが、メタストアに必要な場合があります。 「メタストア管理者を割り当てる」を参照してください。
メタストアを削除する
Azure Databricks アカウントを閉じるか、Unity カタログ メタストアによって管理されているデータへのアクセスを削除する別の理由がある場合は、メタストアを削除できます。
警告
メタストアによって管理されるすべてのオブジェクトは、Azure Databricks ワークスペースを使用してアクセスすることはできなくなります。 この削除操作は元に戻すことができません。
マネージド テーブル のデータとメタデータは、30 日後に自動的に削除されます。 クラウド ストレージ内の外部テーブル データは、メタストアの削除の影響を受けません。
メタストアを削除するには
- メタストア管理者として、[アカウント コンソール] にログインします。
- [カタログ] をクリックします。
- メタストアの名前をクリックします。
- [構成] タブで、右上にある 3 つのボタン メニューをクリックし、[削除] を選択します。
- 確認ダイアログで、メタストアの名前を入力し、[削除] をクリックします。