スキーマの管理

この記事では、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 権限も必要です。

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

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

  3. 左側のカタログペインで、スキーマを含むカタログ ( Hive metastore内にある場合は hive_metastore) をクリックします。

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

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

スキーマの更新

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

必要な権限: Unity Catalog でスキーマを更新するために必要な権限は、更新によって異なります。

  • 所有者を変更するには、自分が所有者である必要があります。

  • スキーマの名前を変更するには、所有者である必要があります。

  • コメントまたはタグを追加または更新するには、所有者であるか、スキーマにUSE SCHEMAMODIFYを持ち、親カタログにUSE CATALOGを持っている必要があります。

  • テーブルを追加するには、スキーマの所有者であるか、スキーマの USE SCHEMACREATE TABLE 、および親カタログの USE CATALOG を持っている必要があります。

  • ボリュームを追加するには、スキーマ所有者であるか、スキーマの USE SCHEMACREATE VOLUME 、および親カタログの USE CATALOG を持っている必要があります。

  • スキーマに対するアクセス許可を付与および取り消すには、スキーマ所有者、親カタログの所有者、またはメタストア管理者である必要があります。

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

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

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

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

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

  • 所有者を変更したり、タグを追加または更新したり、スキーマ プロパティを設定したり、スキーマ内のテーブルで予測的最適化を管理したりするには、データベースまたはSQLクエリ エディターで ALTER SCHEMA コマンドを実行します。 ALTER SCHEMA を参照してください。

  • 権限を付与または取り消すには、 GRANTまたはREVOKEコマンドを使用します。 GRANTおよびREVOKE を参照してください。

  • テーブル、ボリューム、その他のデータ資産と AI 資産をスキーマに追加するには、資産の作成に関するドキュメントを参照してください ( 例: テーブルとビューとは? または Unity Catalog でモデルのライフサイクルを管理する)。

  • SQL を使用してスキーマの名前を変更するには、新しいスキーマを作成し、すべてのアセットを新しいスキーマに移動する必要があります。

スキーマを削除する

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

必要な権限: Unity Catalogにスキーマを削除するには、そのスキーマの所有者である必要があります。

スキーマを削除する前に、スキーマ内のすべてのテーブルを削除する必要があります。

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

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

  3. カタログウィンドウの左側で、削除するスキーマをクリックします。

  4. 詳細ペインで、右上隅にあるケバブ メニュー ケバブメニュー をクリックし、削除 を選択します。

  5. スキーマの削除 ダイアログで、 削除をクリックします。

ノートブックまたは 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 ボリュームとはを参照してください。