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