既定のカタログを管理する

この記事では、既定の Unity カタログ カタログについて説明し、既定として使用するカタログを決定する方法と、その変更方法について説明します。

Unity カタログの既定のカタログは何ですか?

既定のカタログは、Unity Catalog に対して有効になっているワークスペースごとに構成されます。 既定のカタログを使うと、カタログを指定せずにデータ操作を実行できます。 データ操作を実行するときに、最上位レベルのカタログ名を省略すると、既定のカタログが使われます。

ワークスペース管理者は、管理者設定 UI を使って既定のカタログを表示または切り替えることができます。 Spark 構成を使ってクラスターの既定のカタログを設定することもできます。

ワークスペースの既定のカタログ設定は、Unity カタログのコンピューティング要件を満たす コンピューティング を使用する場合にのみ適用されます。 具体的には、 SQL ウェアハウス、または標準または専用 のアクセス モードで構成されたクラスターを使用していることを意味します。 Unity カタログと互換性のないコンピューティング リソースでは、既定のカタログとして hive_metastore が使用されます。

カタログを指定しないコマンド (たとえば GRANT CREATE TABLE ON SCHEMA myschema TO mygroup) は、カタログに対して次の順序で評価されます。

  1. USE CATALOG ステートメントまたは JDBC 設定を使ってセッションにカタログが設定されていますか?
  2. Spark 構成 spark.databricks.sql.initial.catalog.namespace はクラスターに設定されていますか?
  3. クラスターに設定されたワークスペースの既定のカタログはありますか?

重要

Lakeflow Spark 宣言パイプラインのパイプライン構成では、ワークスペースの既定値をオーバーライドする既定のカタログが設定されます。

Unity Catalog が有効な場合の既定のカタログ構成

ワークスペース用に最初に構成される既定のカタログは、Unity Catalog に対してワークスペースがどのように有効にされたかによって異なります。

  • Unity Catalog に対して有効にされた一部のワークスペースには、"ワークスペース カタログ" が既定のカタログとして設定されました。Unity Catalog の自動有効化」を参照してください。
  • 他のすべてのワークスペースには、hive_metastore カタログが既定のカタログとして設定されました。

Hive メタストアから Unity Catalog に移行する場合は、既定のカタログを hive_metastore に設定して、Hive メタストアを参照する既存のコードが影響を受けないようにすることができます。

既定のカタログを変更する

ワークスペース管理者は、ワークスペースの既定のカタログを変更できます。 コンピューティング リソースを作成または編集するアクセス許可を持つすべてのユーザーは、コンピューティング リソースに別の既定のカタログを設定できます。

警告

既定のカタログを変更すると、それに依存する既存のデータ操作が中断される可能性があります。

ワークスペースに別の既定のカタログを構成するには:

  1. ワークスペース管理者としてワークスペースにログインします。
  2. ワークスペースの上部バーでユーザー名をクリックし、ドロップダウンから [管理者設定] を選択します。
  3. [詳細設定] タブをクリックします。
  4. [ワークスペースの既定のカタログ] 行にカタログ名を入力し、[保存] をクリックします。

変更を有効にするには、SQL ウェアハウスとクラスターを再起動します。 新規および再起動されたすべての SQL ウェアハウスとクラスターは、このカタログをワークスペースの既定値として使います。

また、特定のクラスターで次の Spark 構成を設定すると、そのクラスターの既定のカタログをオーバーライドすることもできます。 この方法は、SQL ウェアハウスでは使用できません。

spark.databricks.sql.initial.catalog.namespace

手順については、「Spark の構成」を参照してください。

現在の既定のカタログを表示する

ワークスペースの現在の既定のカタログを取得するには、ノートブックまたは SQL エディター クエリで SQL ステートメントを使います。 ワークスペース管理者は、管理者設定 UI を使って既定のカタログを取得することができます。

管理の設定

  1. ワークスペース管理者としてワークスペースにログインします。
  2. ワークスペースの上部バーでユーザー名をクリックし、ドロップダウンから [管理者設定] を選択します。
  3. [詳細設定] タブをクリックします。
  4. [ワークスペースの既定のカタログ] 行でカタログ名を確認します。

SQL

SQL ウェアハウスまたは Unity Catalog 準拠クラスター上で実行されているノートブックまたは SQL エディター クエリで次のコマンドを実行します。 セッションに USE CATALOG ステートメントまたは JDBC 設定が設定されていない場合、またはクラスターに spark.databricks.sql.initial.catalog.namespace 構成が設定されていない場合、ワークスペースの既定のカタログが返されます。

SELECT current_catalog();

ワークスペース カタログを削除する

Unity カタログが既定で有効になっているワークスペースの場合、ワークスペースを削除した後もワークスペース カタログは保持されます。 これにより、データが保持されます。 ワークスペース カタログと関連するすべてのデータを完全に削除する場合は、ワークスペースを削除するときに強制削除方法を使用できます。 詳細については、「 ワークスペース カタログを強制的に削除する」を参照してください。