スキーマを管理する
この記事では、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
アクセス許可も必要です。
カタログ エクスプローラー
- Unity Catalog メタストアにリンクされているワークスペースにログインします。
- [カタログ] をクリックします。
- 左側の [カタログ] ペインで、スキーマを含むカタログをクリックします (Hive メタストアにある場合は
hive_metastore
)。
または、[カタログ] ペインの [フィルター処理する種類] フィールドを使用してスキーマを検索することもできます。
SQL
ノートブックまたは SQL クエリ エディターで SHOW SCHEMAS
を実行して、カタログ内のすべてのスキーマ、または正規表現に一致するカタログを一覧表示します。 DESCRIBE SCHEMA
を実行して、スキーマに関する詳細を取得します。 「SHOW SCHEMAS」と「DESCRIBE SCHEMA」を参照してください。
スキーマを更新する
Unity Catalog カタログのスキーマを更新 (または変更) するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
必要なアクセス許可: Unity Catalog のスキーマの更新に必要なアクセス許可は、更新する内容によって異なります。
- 所有者を変更するには、所有者であるか、スキーマに対して
MANAGE
とUSE SCHEMA
を持っており、親カタログに対してUSE CATALOG
を持っている必要があります。 - スキーマの名前を変更するには、所有者であるか、スキーマに対して
MANAGE
とUSE SCHEMA
を持ち、親カタログにはUSE CATALOG
を持っている必要があります。 - コメントを追加または更新するには、所有者であるか、スキーマに対して
USE SCHEMA
とMANAGE
またはMODIFY
を持ち、親カタログに対してUSE CATALOG
を持っている必要があります。 - タグを追加または更新するには、所有者であるか、スキーマに
USE SCHEMA
とMODIFY
を持ち、親カタログにUSE CATALOG
を持っている必要があります。 - テーブルを追加するには、スキーマの所有者であるか、スキーマに
USE SCHEMA
とCREATE TABLE
があり、親カタログにUSE CATALOG
が必要です。 - ボリュームを追加するには、スキーマ所有者であるか、スキーマに
USE SCHEMA
とCREATE VOLUME
があり、親カタログにUSE CATALOG
が必要です。 - スキーマに対するアクセス許可を付与および取り消すには、スキーマ所有者、親カタログの所有者、メタストア管理者であるか、またはスキーマと親カタログの
USE CATALOG
にMANAGE
とUSE SCHEMA
が必要です。
カタログ エクスプローラー
Unity Catalog メタストアにリンクされているワークスペースにログインします。
[カタログ] をクリックします。
左側の[カタログ] ペインで、スキーマを含むカタログをクリックし、スキーマをクリックしてスキーマの詳細ページを開きます。
または、[カタログ] ペインの [フィルター処理する種類] フィールドを使用してスキーマを検索することもできます。
スキーマを更新するには、スキーマの詳細ページで次のページの要素を使用します。
- [概要] タブ: 所有者の更新、タグの追加または更新、コメントの追加または更新を行います。 「Unity Catalog オブジェクトの所有権を管理する」、「Unity Catalog のセキュリティ保護可能なオブジェクトにタグを適用する」、「データと AI 資産にコメントを追加する」を参照してください。
- [アクセス許可] タブ: スキーマに対する特権の付与と取り消しを行います。 「Unity Catalog の特権の管理」を参照してください。
- ケバブ メニュー: カタログの名前を変更します。
- [作成] ボタン: スキーマにテーブルまたはボリュームを作成します。 「ファイルのアップロードを使用してテーブルを作成または変更する」と「Unity Catalog のボリュームとは」を参照してください。
SQL
- 所有者の変更、タグの追加または更新、スキーマのプロパティの設定、スキーマ内のテーブルの予測最適化の管理を行うには、ノートブックまたは SQL クエリ エディターで
ALTER SCHEMA
コマンドを実行します。 「ALTER SCHEMA」を参照してください。 - 特権の付与または取り消しを行うには、
GRANT
またはREVOKE
コマンドを使用します。 「GRANT」および「REVOKE」を参照してください。 - テーブル、ボリューム、およびその他のデータ資産や AI 資産をスキーマに追加するには、資産を作成するためのドキュメントを参照してください (たとえば、 Unity カタログのテーブルとビューは何ですか? または Manage モデルのライフサイクル)。
- SQL を使用してスキーマの名前を変更するには、新しいスキーマを作成し、すべての資産をその新しいスキーマに移動する必要があります。
スキーマを削除する
Unity Catalog カタログ内のスキーマを削除 (または切断) するには、カタログ エクスプローラーまたは SQL コマンドを使用します。
アクセス許可が必要: Unity Catalog でスキーマを切断するには、その所有者である必要があります。
カタログ エクスプローラー
スキーマを削除するには、その中のすべての表を削除する必要があります。
- メタストアにリンクされているワークスペースにログインします。
- [カタログ] をクリックします。
- [カタログ] ペインの左側で、削除するスキーマをクリックします。
- 詳細ペインで、右上隅にあるケバブ メニュー をクリックし、[削除] を選択します。
- [スキーマの削除] ダイアログで、[削除] をクリックします。
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 カタログ ボリュームとはを参照してください。