このページでは、Azure Databricks ワークスペースで使用される従来の Hive メタストアへの直接アクセス (ワークスペースローカル Hive メタストアと外部 Hive メタストアのどちらでも) を無効にする方法について説明します。 Unity カタログの移行を完了するか、Hive メタストアを Unity カタログによって管理される外部カタログとしてフェデレーションしたら、単純なワークスペース管理者設定を使用して、ユーザーが Unity カタログをバイパスしたり、Hive メタストアに登録されているテーブルにアクセスしたりできないようにすることができます。
Hive メタストア内のデータは、Unity カタログによって管理されません。 直接 Hive メタストア アクセスを無効にすることは、Unity Catalog に移行し、Unity カタログのデータ ガバナンスを最大限に活用するプロセスにおいて重要なステップです。 Hive メタストア フェデレーションを利用して、直接アクセスを無効にし、Hive メタストアによって管理されているテーブルのクエリを続行できます。 Hive メタストアへの直接ワークスペース アクセスを無効にする前または後に、Hive メタストア テーブルをフェデレーションできます。 「既存のワークスペースを Unity カタログと Hive メタストア フェデレーションにアップグレードする: Hive メタストアに登録されているテーブルを Unity カタログで管理できるようにする」を参照してください。
Important
Unity カタログに移行した後でも、明示的に Hive メタストア アクセスを無効にしない限り、Azure Databricks コンピューティング クラスターは既定で Hive メタストアに接続します。 Hive メタストアのメンテナンスが Unity カタログ ワークロードに影響しないようにするには、すべてのクラスターとワークロードに対して Hive メタストアへの直接アクセスを一度に無効にするか (Hive メタストアへの直接アクセスをすべて無効にする)、Spark 構成を使用してクラスターごとにアクセスを無効にします (Hive メタストアへの直接アクセスをすべて無効にします)。
新しいワークスペースのアカウント レベルで Hive メタストアへのアクセスを無効にするには、[ 従来の機能アカウントを無効にする ] 設定を使用します。
開始する前に:レガシ メタストアを無効にする必要があるタイミング
レガシ Hive メタストアを無効にする前に、次の条件を満たしている必要があります。
- レガシ メタストアに登録されているすべてのテーブルの Unity カタログへの移行が完了しました。または、Unity カタログを常に使用しており、従来の Hive メタストアは使用していません。
- ユーザーがレガシ メタストアに登録されているテーブルを使用するのを停止させたいと考えています。
- すべてのジョブを Databricks Runtime 13.3 LTS 以降にアップグレードしました。
レガシ メタストアを無効にするとどうなりますか?
レガシ メタストアを無効化した後:
Hive メタストアに登録されているテーブルに対して実行されているジョブはすべて失敗します。
フォールバック が無効になっています。
13.3 より前のバージョンの Databricks ランタイムで実行されるジョブは失敗します。
現在実行中のジョブは、終了するまで引き続き機能しますが、これらのクラスターでの再起動は失敗します。
従来の見出しと
hive_metastoreカタログは、[カタログ エクスプローラー] ブラウザー ウィンドウから消えます。hive_metastoreカタログの内容を表示しようとする SQL コマンドは失敗します。
Note
レガシ アクセスを無効にしても、ユーザーはクラスターで使用できるサービス プリンシパルなどのクラスター レベルの資格情報を使用できなくなります。 Databricks では、クラスターからそのような資格情報を削除することをお勧めします。
「No Isolation shared」クラスターは、従来のHiveメタストア無効化設定を考慮しません。 ユーザーがこのようなクラスターを作成して使用できないようにするには、ワークスペースの [ユーザー分離の適用 ] 設定を有効にします。 「ワークスペースにユーザー分離クラスターの種類を適用する」を参照してください。
Hive メタストアへの直接アクセスをすべて無効にする
ワークスペース管理者設定の [レガシ アクセスを無効にする] オプションを使用して、ワークスペースのレガシ Hive メタストアを 無効にします。
- ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
- 右上にあるユーザー プロファイル メニューをクリックし、メニューから [設定] を選択します。
- [ワークスペース管理者] > [セキュリティ] に移動します。
- [ レガシ アクセスの無効化] を [無効] に設定します。レガシ アクセス機能は使用できません。
- 新しい設定が有効になっていることを確認するには、約 5 分待ちます。
- 実行中のすべてのクラスターを再起動します。
個々のコンピューティング クラスターのアクセスを無効にする
クラスターごとに Hive メタストアへの直接アクセスを徐々に無効にすることもできます。 この方法は、ワークスペース全体で無効にできるようになるまで、Hive メタストアへの依存を段階的に減らす必要がある場合に、Unity カタログの移行中に役立ちます。
直接アクセスを無効にするには、クラスターで次の Spark 構成 を設定します。
spark.databricks.unityCatalogOnlyMode True
spark.databricks.sql.initial.catalog.namespace <catalog-name>
<catalog-name>を、メタストアに存在する Unity カタログの名前に置き換えます。 Unity カタログ専用モードを有効にする場合は、クラスターが既定のカタログとして hive_metastore を使用できなくなったため、初期 カタログも設定する必要があります。