次の方法で共有


スキーマを管理する

この記事では、Unity Catalog のスキーマを表示、更新、削除する方法について説明します。

Azure Databricks のスキーマとは」と「スキーマの作成」も参照してください。

Note

Hive メタストアでは、SQL コマンドを使用してスキーマを管理する必要があります。 従来の Hive メタストアでの動作は、Unity Catalog とは異なります。 必要なアクセス許可は、テーブル アクセス制御を使用しているかどうかによって異なります。 「Hive メタストアのスキーマ」と「Hive メタストア特権とセキュリティ保護可能なオブジェクト (レガシ)」を参照してください。

開始する前に

Unity Catalog でスキーマを操作するには:

  • スキーマの作成を実行するワークスペースにリンクされている Unity Catalog のメタストアが必要です。
  • ノートブックを実行してスキーマを管理するために使うクラスターは、Unity Catalog 準拠のアクセス モードを使う必要があります。 「アクセス モード」を参照してください。 SQL ウェアハウスは常に Unity Catalog をサポートします。
  • Unity Catalog のスキーマを変更、表示、削除するために必要なアクセス許可については、以下のセクションに示します。

スキーマの検索と表示

Unity Catalog では、ユーザーは、USE SCHEMA アクセス許可が割り当てられているすべてのスキーマと、スキーマの親カタログに対する USE CATALOG アクセス許可を表示できます。 ユーザーがスキーマ内のテーブルまたはビューにアクセスまたは一覧表示するには、テーブルまたはビューに対する SELECT アクセス許可も必要です。

カタログ エクスプローラー

  1. Unity Catalog メタストアにリンクされているワークスペースにログインします。
  2. カタログ アイコン[カタログ] をクリックします。
  3. 左側の [カタログ] ペインで、スキーマを含むカタログをクリックします (Hive メタストアにある場合は hive_metastore)。

または、[カタログ] ペインの [フィルター処理する種類] フィールドを使用してスキーマを検索することもできます。

SQL

ノートブックまたは SQL クエリ エディターで SHOW SCHEMAS を実行して、カタログ内のすべてのスキーマ、または正規表現に一致するカタログを一覧表示します。 DESCRIBE SCHEMA を実行して、スキーマに関する詳細を取得します。 「SHOW SCHEMAS」と「DESCRIBE SCHEMA」を参照してください。

スキーマを更新する

Unity Catalog カタログのスキーマを更新 (または変更) するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。

必要なアクセス許可: Unity Catalog のスキーマの更新に必要なアクセス許可は、更新する内容によって異なります。

  • 所有者を変更するには、所有者であるか、スキーマに対して MANAGEUSE SCHEMA を持っており、親カタログに対して USE CATALOG を持っている必要があります。
  • スキーマの名前を変更するには、所有者であるか、スキーマに対して MANAGEUSE SCHEMA を持ち、親カタログには USE CATALOG を持っている必要があります。
  • コメントを追加または更新するには、所有者であるか、スキーマに対して USE SCHEMAMANAGE または MODIFY を持ち、親カタログに対して USE CATALOG を持っている必要があります。
  • タグを追加または更新するには、所有者であるか、スキーマに USE SCHEMAMODIFY を持ち、親カタログに USE CATALOG を持っている必要があります。
  • テーブルを追加するには、スキーマの所有者であるか、スキーマに USE SCHEMACREATE TABLE があり、親カタログに USE CATALOG が必要です。
  • ボリュームを追加するには、スキーマ所有者であるか、スキーマに USE SCHEMACREATE VOLUME があり、親カタログに USE CATALOG が必要です。
  • スキーマに対するアクセス許可を付与および取り消すには、スキーマ所有者、親カタログの所有者、メタストア管理者であるか、またはスキーマと親カタログの USE CATALOGMANAGEUSE SCHEMA が必要です。

カタログ エクスプローラー

  1. Unity Catalog メタストアにリンクされているワークスペースにログインします。

  2. カタログ アイコン[カタログ] をクリックします。

  3. 左側の[カタログ] ペインで、スキーマを含むカタログをクリックし、スキーマをクリックしてスキーマの詳細ページを開きます。

    または、[カタログ] ペインの [フィルター処理する種類] フィールドを使用してスキーマを検索することもできます。

  4. スキーマを更新するには、スキーマの詳細ページで次のページの要素を使用します。

SQL

  • 所有者の変更、タグの追加または更新、スキーマのプロパティの設定、スキーマ内のテーブルの予測最適化の管理を行うには、ノートブックまたは SQL クエリ エディターで ALTER SCHEMA コマンドを実行します。 「ALTER SCHEMA」を参照してください。
  • 特権の付与または取り消しを行うには、GRANT または REVOKE コマンドを使用します。 「GRANT」および「REVOKE」を参照してください。
  • テーブル、ボリューム、およびその他のデータ資産や AI 資産をスキーマに追加するには、資産を作成するためのドキュメントを参照してください (たとえば、 Unity カタログのテーブルとビューは何ですか? または Manage モデルのライフサイクル)。
  • SQL を使用してスキーマの名前を変更するには、新しいスキーマを作成し、すべての資産をその新しいスキーマに移動する必要があります。

スキーマを削除する

Unity Catalog カタログ内のスキーマを削除 (または切断) するには、カタログ エクスプローラーまたは SQL コマンドを使用します。

アクセス許可が必要: Unity Catalog でスキーマを切断するには、その所有者である必要があります。

カタログ エクスプローラー

スキーマを削除するには、その中のすべての表を削除する必要があります。

  1. メタストアにリンクされているワークスペースにログインします。
  2. カタログ アイコン[カタログ] をクリックします。
  3. [カタログ] ペインの左側で、削除するスキーマをクリックします。
  4. 詳細ペインで、右上隅にあるケバブ メニュー ケバブ メニュー をクリックし、[削除] を選択します。
  5. [スキーマの削除] ダイアログで、[削除] をクリックします。

SQL

ノートブックまたは SQL クエリ エディターで次の SQL コマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー <schema-name> を置き換えます。

パラメーターの説明については、DROP SCHEMA を参照してください。

DROP SCHEMA オプションなしで CASCADE を使用する場合は、スキーマを削除する前に、その中のすべての表を削除する必要があります。

DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]

たとえば、inventory_schema という名前のスキーマとその表を削除するには、次のようにします。

DROP SCHEMA inventory_schema CASCADE

次のステップ

テーブルとボリュームをスキーマに追加する方法については、「 テーブルとビューとは Unity カタログ ボリュームとはを参照してください。