メインコンテンツまでスキップ

Hive metastoreDatabricksワークスペースで使用されている へのアクセスを無効にする

この記事では、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への直接アクセスを無効にする前または後にフェデレーションできます。「既存のワークスペースのUnity Catalog およびHive metastore フェデレーションへの移行:Unity Catalog に登録されたテーブルを管理するための の有効化 」を参照してください。Hive metastore

Databricks では、すべてのクラスタリングとワークロードに対して Hive metastore への直接アクセスを一度に無効にすることをお勧めしますが、 Spark 構成を使用して、クラスタリングごとにアクセスを無効にすることもできます。

始める前に: レガシ メタストアはいつ無効にする必要がありますか?

レガシー Hive metastoreを無効にする前に、次の条件を満たす必要があります。

  • レガシ メタストアに登録されているすべてのテーブルを Unity Catalogに移行したか、常に Unity Catalog を使用しており、レガシ メタストアは使用していないか Hive metastore。
  • レガシ メタストアに登録されているテーブルの使用をユーザーに停止させる必要があります。
  • すべてのジョブを 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 を無効にするには、 ワークスペース 管理者設定を使用します。

  1. ワークスペース管理者として、Databrickワークスペースにログインします。

  2. 右上のユーザープロファイルメニューをクリックし、メニューから[ 設定 ]を選択します。

  3. ワークスペース管理者の [セキュリティ] > に移動します。

  4. [従来のアクセスを無効にする ] を [無効] に設定する: 従来のアクセス機能は使用できません

注記

この設定が表示されない場合は、アカウント管理者に依頼して、アカウントコンソールの「 プレビュー> Unity Catalog:レガシー機能を無効にする 」設定をオンにしてもらいます。

  1. 新しい設定が有効になったことを確認するには、約 5 分待ちます。

  2. すべての稼働中のクラスターを再起動します。

個々のコンピュート クラスタリングのアクセスを無効にする

直接アクセスは、クラスタリングごとに段階的に無効にすることができます。 前のセクションの手順をスキップして、サーバレス以外のクラスタリングで次の Spark 設定を設定します。

spark.databricks.unityCatalogOnlyMode True

このアプローチは、 Unity Catalog 移行中に、ワークスペース全体で Hive metastore への依存を段階的に減らす必要がある場合に役立ちます。

Spark の設定を参照してください。