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