Databricks ワークスペースを Unity Catalog にアップグレードする
このページでは、Unity Catalog 以外のワークスペースを Unity Catalog にアップグレードする方法の概要について説明します。また、従来のワークスペース-ローカル Hive metastoreから移行する手順も示しています。
アップグレード手順の概要
Unity Catalog にアップグレードするには、次のことを行う必要があります。
- プロビジョニング ID (ユーザー、グループ、サービスプリンシパル) を Databricks アカウントに直接行います (まだ行っていない場合)。 ワークスペース レベルの ID プロビジョニングをオフにします。
- ワークスペースローカルグループをアカウントレベルのグループに変換します。Unity Catalog は、アカウント レベルで ID 管理を一元化します。
- ワークスペースを Unity Catalog メタストアにアタッチします。ワークスペース リージョンにメタストアが存在しない場合は、アカウント管理者がメタストアを作成する必要があります。
- Hive metastore で管理されているテーブルとビューを Unity Catalogにアップグレードします。
- アカウントレベルのユーザー、グループ、またはサービスプリンシパルに、アップグレードされたテーブルへのアクセス権を付与します。
- クエリとジョブを更新して、古いHive metastore テーブルではなく新しいUnity Catalog テーブルを参照します。
- Hiveメタストアを無効にします。Databricksワークスペースで使用されている Hiveメタストアへのアクセスを無効にするを参照してください。
Databricks Labs プロジェクトである UCX には、Unity Catalog が有効化されていないワークスペースを Unity Catalog にアップグレードするのに役立つツールが用意されています。 UCX は、大規模な移行に適しています。 UCX ユーティリティを使用してワークスペースを Unity Catalog にアップグレードするを参照してください。
始める前に
開始する前に、メタストアや管理ストレージなど、Unity Catalog の基本的な概念について理解しておく必要があります。「Unity Catalog とは」を参照してください。
また、次の要件を満たしていることも確認する必要があります。
- ほとんどのセットアップ手順では、Databricks アカウント管理者である必要があります。その後のタスクで他のアクセス許可要件がある場合は、タスク固有のドキュメントに記載されています。
- Databricksアカウントは、プレミアムプラン以上である必要があります。
アカウントへのユーザー、グループ、サービスプリンシパルのプロビジョン
Unity Catalog はアカウント レベルの ID を参照します。メタストアをワークスペースにアタッチする前に、次の操作を行う必要があります。
-
SCIMを使用してIdPからワークスペースにユーザー、グループ、サービスプリンシパルをプロビジョニングしている場合は、それをオフにして、代わりにDatabricksアカウントへのプロビジョニングを設定します。Databricksへのユーザーの割り当て とアイデンティティを参照してください。
-
ユーザー、グループ、サービスプリンシパルを管理するように構成されたオートメーション ( SCIM プロビジョニング コネクタや Terraform オートメーションなど) を更新して、ワークスペース エンドポイントではなくアカウント エンドポイントを参照するようにします。 アカウントレベルおよびワークスペースレベルの SCIM プロビジョニングを参照してください。
ワークスペースローカルグループをアカウントレベルのグループに変換する
ワークスペースローカル グループをアカウント グループに移行するを参照してください。
ワークスペースをメタストアにアタッチする
ワークスペースで Unity Catalog が有効になっていない (メタストアに接続されている) 場合、次の手順は、ワークスペース リージョンに Unity Catalog メタストアが既に定義されているかどうかによって異なります。
- アカウントにワークスペース リージョンに対して Unity Catalog メタストアが既に定義されている場合は、ワークスペースを既存のメタストアに簡単にアタッチできます。Unity Catalog のワークスペースを有効にするに移動します。
- ワークスペースのリージョンに Unity Catalog メタストアが定義されていない場合は、メタストアを作成してから、ワークスペースをアタッチする必要があります。Unity Catalog メタストアを作成するに移動します。
Hive metastore内のテーブルをUnity Catalogテーブルにアップグレード
ワークスペースが Unity Catalogで有効になる前にサービスに含まれていた場合、ワークスペースには、引き続き使用するデータが含まれている可能性が高い Hive metastore があります。 Databricks では、 Hive metastore によって管理されているテーブルを Unity Catalog メタストアにアップグレードすることをお勧めします。
Hive metastoreをフェデレーションすることで、徐々にアップグレードできます。次のセクションを参照してください。
Databricks ワークスペースを Unity Catalog にアップグレードするの手順を使用して、テーブルを直接アップグレードできます。
(オプション) Hive metastore をフェデレーションして、作業を継続します
ワークスペースに、引き続き使用するデータを含むHive metastore があり、Hive metastore によって管理されるすべてのテーブルをUnity Catalogメタストアにアップグレードするという推奨事項に従わない場合は、Hive metastore でフォーリンカタログとしてフェデレーションすることで、Unity Catalog 内のデータを引き続き操作できます。Hive metastoreフェデレーション: Hive metastoreに登録されたテーブルを管理するためのUnity Catalogの有効化 を参照してください。
アップグレードされたテーブルまたはフェデレーテッドテーブルへのアクセスの許可
アカウントレベルのユーザー、グループ、またはサービスプリンシパルに、新しいテーブルへのアクセス権を付与します。Unity Catalog での特権の管理を参照してください。
アップグレードされたテーブルとデータへのパスを操作するためのクエリとジョブの更新
ワークスペースローカルHive metastoreからUnity Catalogに移行している間も、Hive metastoreに登録されているデータを参照するクエリとジョブを引き続き使用できます。 Hive metastoreフェデレーション(推奨) またはUnity Catalogと併用したレガシHive metastore システム の操作で説明されている構文を使用します。ただし、最終的には、Unity Catalog のテーブルと構文を使用するようにすべてのクエリとジョブを更新する必要があります。
同様に、ファイルへのパスベースのアクセスを使用するクエリとジョブを更新して、代わりに Unity Catalog ボリューム を使用します。
詳細な推奨事項については、「 従来のワークスペースを Unity Catalog にアップグレードするときにジョブを更新する」を参照してください。