スキーマ (データベース) の作成と管理
この記事では、Unity Catalog でスキーマ (データベース) を作成および管理する方法について説明します。 スキーマには、テーブル、ビュー、ボリューム、モデル、および関数が含まれます。 スキーマはカタログ内に作成 します。
要件
スキーマの親カタログに対する
USE CATALOG
およびCREATE SCHEMA
データのアクセス許可 が必要です。メタストア管理者またはカタログの所有者は、これらの権限を付与できます。 メタストア管理者の場合は、これらの権限を自分に付与できます。ノートブックを実行してスキーマを作成するために使用するクラスターでは、Unity Catalog 準拠のアクセス モードを使用する必要があります。 アクセス・モードを参照してください。
SQLウェアハウスは、常に Unity Catalog をサポートしています。
スキーマ を作成する
スキーマを作成するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
メタストアにリンクされているワークスペースにログインします。
[ カタログ] をクリックします 。
左側の [カタログ] ウィンドウで、スキーマを作成するカタログをクリックします。
詳細ペインで、「 スキーマの作成」をクリックします。
スキーマに名前を付け、ユーザーがスキーマの目的を理解するのに役立つコメントを追加します。
(オプション)管理対象の保管場所を指定します。 ターゲットの外部ロケーションに対する
CREATE MANAGED STORAGE
権限が必要です。 「 Unity Catalog で管理対象ストレージの場所を指定する」を参照してください。[作成]をクリックします。
カタログにアクセス許可を割り当てます。 Unity Catalog 権限とセキュリティ保護可能なオブジェクトを参照してください。
[保存]をクリックします。
ノートブックまたは Databricks SQL エディターで次の SQL コマンドを実行します。 括弧内の項目はオプションです。
SCHEMA
またはDATABASE
のいずれかを使用できます。プレースホルダー値を置き換えます。<catalog-name>
: スキーマの親カタログの名前。<schema-name>
: スキーマの名前。<location-path>
:随意。 追加の権限が必要です。 「 Unity Catalog で管理対象ストレージの場所を指定する」を参照してください。<comment>
: オプションの説明またはその他のコメント。<property-key> = <property-value> [ , ... ]
:随意。 スキーマに設定する Spark SQL のプロパティと値。
パラメーターの説明については、「 CREATE SCHEMA」を参照してください。
USE CATALOG <catalog>; CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <schema-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ] [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
オプションで、
USE CATALOG
ステートメントを省略し、<schema-name>
を<catalog-name>.<schema-name>
に置き換えることができます。スキーマに特権を割り当てます。 Unity Catalog 権限とセキュリティ保護可能なオブジェクトを参照してください。
また、Databricks Terraform プロバイダーとdatabricks_schemaを使用してスキーマを作成することもできます。スキーマ ID のリストは、databricks_schemas を使用して取得できます
スキーマ を削除する
スキーマを削除 (またはドロップ) するには、「カタログエクスプローラ」(Catalog Explorer) または SQL コマンドを使用します。 スキーマを削除するには、その所有者である必要があります。
削除する前に、スキーマ内のすべてのテーブルを削除する必要があります。
メタストアにリンクされているワークスペースにログインします。
[ カタログ] をクリックします 。
[ カタログ ] ウィンドウの左側で、削除するスキーマをクリックします。
詳細ペインで、右上隅にある3つのドットのメニューをクリックし、[ 削除]を選択します。
「 スキーマの削除 」ダイアログで、「 削除」をクリックします。
ノートブックまたは Databricks 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 でのテーブル の作成」および「 ボリュームの作成と操作」を参照してください。