デフォルトカタログの管理
この記事では、デフォルト Unity Catalog カタログについて紹介し、デフォルトとして使用するカタログを決定する方法と、それを変更する方法を示します。
Unity Catalog のデフォルトのカタログは何ですか?
デフォルト カタログは、 Unity Catalogが有効になっているワークスペースごとに構成されます。 デフォルトのカタログでは、カタログを指定せずにデータ操作を実行できます。 データ操作を実行するときに最上位のカタログ名を省略すると、デフォルトのカタログが想定されます。
ワークスペース管理者は、管理者設定 UI を使用してデフォルト カタログを表示または切り替えることができます。 Spark 構成を使用して、クラスターのデフォルト カタログを設定することもできます。
カタログを指定しないコマンド ( GRANT CREATE TABLE ON SCHEMA myschema TO mygroup
など) は、次の順序でカタログに対して評価されます。
- セッションのカタログは、
USE CATALOG
ステートメントまたは JDBC 設定を使用して設定されていますか? - Spark構成はクラスターで
spark.databricks.sql.initial.catalog.namespace
設定されていますか? - クラスター用にワークスペース デフォルト カタログが設定されていますか?
DLT のパイプライン構成は、ワークスペースのデフォルトを上書きするデフォルト カタログを設定します。
Unity Catalogが有効になっている場合のデフォルトカタログ構成
ワークスペースに対して最初に構成されたデフォルト カタログは、ワークスペースが Unity Catalogに対してどのように有効にされたかによって異なります。
- Unity Catalogが自動的に有効になった一部のワークスペースでは、 ワークスペース カタログ がデフォルト カタログとして設定されていました。「Unity Catalog の自動有効化」を参照してください。
- 他のすべてのワークスペースでは、
hive_metastore
カタログがデフォルト カタログとして設定されました。
Hive metastore から Unity Catalogに移行する場合は、デフォルトカタログを hive_metastore
に設定して、Hive metastoreを参照する既存のコードに影響を与えないようにすることができます。
デフォルトのカタログを変更する
ワークスペース管理者は、ワークスペースのデフォルト カタログを変更できます。 コンピュート リソースを作成または編集する権限を持つユーザーは、コンピュート リソースに別のデフォルト カタログを設定できます。
デフォルトのカタログを変更すると、それに依存する既存のデータ操作が中断される可能性があります。
ワークスペースに別のデフォルトカタログを設定するには:
- ワークスペース管理者としてワークスペースにログインします。
- ワークスペースの上部バーでユーザー名をクリックし、ドロップダウンから[ 管理設定 ] を選択します。
- 詳細設定 タブをクリックします。
- ワークスペース行 のデフォルト カタログ で、カタログ名を入力し、[ 保存 ] をクリックします。
SQLウェアハウスとクラスターを再起動して、変更を有効にします。ウェアハウスとクラスター SQL新規および再開されたすべてのカタログは、このカタログをワークスペースのデフォルトとして使用します。
また、特定のクラスターのデフォルト カタログをオーバーライドするには、クラスターで次の Spark 構成を設定します。 この方法は、 SQLウェアハウスでは使用できません。
spark.databricks.sql.initial.catalog.namespace
手順については、「 Spark の設定」を参照してください。
現在のデフォルトカタログを表示する
ワークスペースの現在のデフォルト カタログを取得するには、ノートブックまたはSQL Editor クエリで SQL ステートメントを使用できます。ワークスペース管理者は、管理者設定 UI を使用してデフォルト カタログを取得できます。
- Admin Settings
- SQL
- ワークスペース管理者としてワークスペースにログインします。
- ワークスペースの上部バーでユーザー名をクリックし、ドロップダウンから[ 管理設定 ] を選択します。
- 詳細設定 タブをクリックします。
- ワークスペース行 のデフォルト カタログ で、カタログ名を表示します。
SQLウェアハウスまたは Unity Catalog 準拠のクラスタリングで実行されているノートブックまたは SQL エディターのクエリで、次のコマンドを実行します。ワークスペース デフォルト カタログは、セッションに USE CATALOG
ステートメントまたは JDBC 設定が設定されていないかぎり、およびクラスタリングに spark.databricks.sql.initial.catalog.namespace
構成が設定されていない限り、返されます。
SELECT current_catalog();