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