スキーマの管理
この記事では、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 CATALOG
権限とともに、USE SCHEMA
権限が割り当てられているすべてのスキーマを表示できます。 スキーマ内のテーブルまたはビューにアクセスしたり、スキーマ内のテーブルまたはビューを一覧表示したりするには、そのテーブルまたはビューに対する SELECT
権限も必要です。
Unity Catalogメタストアにリンクされているワークスペースにログインします。
[ カタログ ] をクリックします。
左側のカタログペインで、スキーマを含むカタログ ( Hive metastore内にある場合は
hive_metastore
) をクリックします。
または、[カタログ] ウィンドウの [ フィルターの種類 ] フィールドを使用してスキーマを検索することもできます。
ノートブックまたは SQL クエリ エディターでSHOW SCHEMAS
を実行して、カタログ内のすべてのスキーマまたは正規表現に一致するスキーマを一覧表示します。 スキーマの詳細を取得するには、 DESCRIBE SCHEMA
を実行します。 SHOW SCHEMASおよびDESCRIBE SCHEMA を参照してください。
スキーマの更新
Unity Catalog カタログ内のスキーマを更新 (または変更) するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
必要な権限: Unity Catalog でスキーマを更新するために必要な権限は、更新によって異なります。
所有者を変更するには、自分が所有者である必要があります。
スキーマの名前を変更するには、所有者である必要があります。
コメントまたはタグを追加または更新するには、所有者であるか、スキーマに
USE SCHEMA
とMODIFY
を持ち、親カタログにUSE CATALOG
を持っている必要があります。テーブルを追加するには、スキーマの所有者であるか、スキーマの
USE SCHEMA
とCREATE TABLE
、および親カタログのUSE CATALOG
を持っている必要があります。ボリュームを追加するには、スキーマ所有者であるか、スキーマの
USE SCHEMA
とCREATE VOLUME
、および親カタログのUSE CATALOG
を持っている必要があります。スキーマに対するアクセス許可を付与および取り消すには、スキーマ所有者、親カタログの所有者、またはメタストア管理者である必要があります。
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 カタログ内のスキーマを削除 (またはドロップ) するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
必要な権限: Unity Catalogにスキーマを削除するには、そのスキーマの所有者である必要があります。
スキーマを削除する前に、スキーマ内のすべてのテーブルを削除する必要があります。
メタストアにリンクされているワークスペースにログインします。
[ カタログ ] をクリックします。
[ カタログ ] ウィンドウの左側で、削除するスキーマをクリックします。
詳細ペインで、右上隅にあるケバブ メニュー をクリックし、[ 削除] を選択します。
「 スキーマの削除 」ダイアログで、「 削除」をクリックします。
ノートブックまたは 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 ボリュームとは。