スキーマの管理
この記事では、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 でスキーマを更新するために必要な権限は、更新によって異なります。
所有者を変更するには、自分が所有者であるか、スキーマに
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
を持っている必要があります。
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 ボリュームとはを参照してください。