スキーマの管理
この記事では、Unity Catalog でスキーマを表示、更新、および削除する方法について説明します。
「Databricks のスキーマとは」および「スキーマを作成する」も参照してください。
Hive metastoreでは、SQL コマンドを使用してスキーマを管理する必要があります。従来の Hive metastore での動作は、 Unity Catalogとは異なります。 必要な権限は、テーブルアクセスコントロールを使用しているかどうかによって異なります。 Hive metastoreのスキーマとHive metastore特権およびセキュリティ保護可能なオブジェクト (レガシ)を参照してください。
始める前に
Unity Catalog でスキーマを操作するには:
- スキーマの作成を実行する ワークスペースにリンクされた Unity Catalog メタストアが必要です。
- ノートブックを実行してスキーマを管理するために使用するクラスターでは、Unity Catalog 準拠のアクセスモードを使用する必要があります。 「アクセスモード」を参照してください。SQLウェアハウスは常に Unity Catalogをサポートしています。
- Unity Catalog でスキーマを変更、表示、およびドロップするために必要なアクセス許可については、次のセクションに一覧表示します。
スキーマの検索と表示
Unity Catalog では、ユーザーは USE SCHEMA
アクセス許可が割り当てられているすべてのスキーマと、スキーマの親カタログの USE CATALOG
アクセス許可を表示できます。 スキーマ内のテーブルまたはビューにアクセスしたり、リストしたりするには、テーブルまたはビューに対する SELECT
権限も必要です。
- Catalog Explorer
- SQL
- Unity Catalog メタストアにリンクされているワークスペースにログインします。
[カタログ] をクリックします。
- 左側の [カタログ ] ウィンドウで、スキーマを含むカタログ (Hive metastoreにある場合は
hive_metastore
) をクリックします。
または、カタログ ウィンドウの フィルターの種類 フィールドを使用してスキーマを検索することもできます。
ノートブックまたは SQL クエリエディタで SHOW SCHEMAS
を実行して、カタログ内のすべてのスキーマまたは正規表現に一致するスキーマをリストします。DESCRIBE SCHEMA
を実行して、スキーマの詳細を取得します。SHOW SCHEMASとDESCRIBE SCHEMAを参照してください。
スキーマを更新する
Unity Catalog カタログのスキーマを更新 (または変更) するには、Catalog Explorer または SQL コマンドを使用できます。
必要なアクセス許可 : Unity Catalog でスキーマを更新するために必要なアクセス許可は、更新によって異なります。
- 所有者を変更するには、自分が所有者であるか、スキーマに
MANAGE
とUSE SCHEMA
があり、親カタログにUSE CATALOG
ている必要があります。 - スキーマの名前を変更するには、所有者であるか、スキーマに
MANAGE
とUSE SCHEMA
があり、親カタログにUSE CATALOG
ている必要があります。 - コメントを追加または更新するには、所有者であるか、スキーマと親カタログの
USE CATALOG``USE SCHEMA
とMANAGE
またはMODIFY
を持っている必要があります。 - タグを追加または更新するには、所有者であるか、スキーマに
USE SCHEMA
とMODIFY
があり、親カタログにUSE CATALOG
ている必要があります。 - テーブルを追加するには、スキーマの所有者であるか、スキーマに
USE SCHEMA
とCREATE TABLE
があり、親カタログにUSE CATALOG
ている必要があります。 - ボリュームを追加するには、スキーマの所有者であるか、スキーマに
USE SCHEMA
とCREATE VOLUME
があり、親カタログにUSE CATALOG
ている必要があります。 - スキーマに対するアクセス許可を付与および取り消すには、スキーマの所有者、親カタログの所有者、メタストア管理者であるか、スキーマに対する
MANAGE
とUSE SCHEMA
、親カタログに対するUSE CATALOG
を持っている必要があります。
- Catalog Explorer
- SQL
-
Unity Catalog メタストアにリンクされているワークスペースにログインします。
-
[カタログ] をクリックします。
-
左側の カタログ ウィンドウで、スキーマを含むカタログをクリックし、スキーマをクリックしてスキーマの詳細ページを開きます。
または、カタログ ウィンドウの フィルターの種類 フィールドを使用してスキーマを検索することもできます。
-
スキーマの詳細ページにある次のページ要素を使用して、スキーマを更新します。
- [概要 ]タブ:所有者の更新、タグの追加または更新、コメントの追加または更新。「Unity Catalog オブジェクトの所有権の管理」、「Unity Catalog のセキュリティ保護可能なオブジェクトへのタグの適用」、および「データと AI アセットへのコメントの追加」を参照してください。
- [権限] タブ: スキーマに対する権限を付与および取り消します。「Unity Catalog での特権の管理」を参照してください。
ケバブメニュー:スキーマ の名前を変更します 。
- [作成 ] ボタン: スキーマにテーブルまたはボリュームを作成します。「ファイルのアップロードを使用してテーブルを作成または変更する」と「Unity Catalog ボリュームとは」を参照してください。
- 所有者の変更、タグの追加または更新、スキーマ・プロパティーの設定、およびスキーマ内のテーブルの予測的最適化の管理を行うには、ノートブックまたはSQLクエリ・エディターで
ALTER SCHEMA
コマンドを実行します。ALTER SCHEMAを参照してください。 - 特権を付与または取り消すには、
GRANT
コマンドまたはREVOKE
コマンドを使用します。GRANT と REVOKEを参照してください。 - テーブル、ボリューム、その他のデータ資産と AI 資産をスキーマに追加するには、資産の作成に関するドキュメントを参照してください ( 例: テーブルとは?または Unity Catalog でモデルのライフサイクルを管理する)。
- SQL を使用してスキーマの名前を変更するには、新しいスキーマを作成し、すべてのアセットを新しいスキーマに移動する必要があります。
スキーマを削除する
Unity Catalog カタログ内のスキーマを削除 (または削除) するには、Catalog Explorer または SQL コマンドを使用できます。
必要なアクセス許可 : Unity Catalog にスキーマを削除するには、その所有者である必要があります。
- Catalog Explorer
- SQL
スキーマを削除する前に、スキーマ内のすべてのテーブルを削除する必要があります。
- メタストアにリンクされているワークスペースにログインします。
[カタログ] をクリックします。
- カタログ ウィンドウの左側で、削除するスキーマをクリックします。
- 詳細ペインで、右上隅にあるケバブ メニュー
をクリックし、 削除 を選択します。
- スキーマの削除 ダイアログで、 削除 をクリックします。
ノートブックまたは SQL クエリエディタで次の SQL コマンドを実行します。括弧内の項目はオプションです。プレースホルダー <schema-name>
を .
パラメーターの説明については、 DROP SCHEMAを参照してください。
CASCADE
オプションなしでDROP SCHEMA
を使用する場合は、スキーマ内のすべてのテーブルを削除する必要があります。
DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]
たとえば、 inventory_schema
という名前のスキーマとそのテーブルを削除するには、次のようにします。
DROP SCHEMA inventory_schema CASCADE
次のステップ
スキーマにテーブルとボリュームを追加する方法については、「 テーブルとは」を参照してください。 およびUnity Catalog ボリュームとは。