スキーマ (データベース) の作成と管理

この記事では、Unity Catalog でスキーマ (データベース) を作成および管理する方法について説明します。 スキーマには、テーブル、ビュー、ボリューム、モデル、および関数が含まれます。 スキーマはカタログ内に作成 します

要件

  • スキーマの作成を実行する ワークスペースにリンク された Unity Catalog メタストアが必要です。

  • スキーマの親カタログに対する USE CATALOG および CREATE SCHEMA データのアクセス許可 が必要です。メタストア管理者またはカタログの所有者は、これらの権限を付与できます。 メタストア管理者の場合は、これらの権限を自分に付与できます。

  • ノートブックを実行してスキーマを作成するために使用するクラスターでは、Unity Catalog 準拠のアクセス モードを使用する必要があります。 アクセス・モードを参照してください。

    SQLウェアハウスは、常に Unity Catalog をサポートしています。

スキーマ を作成する

スキーマを作成するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。

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

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

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

  4. 詳細ペインで、「 スキーマの作成」をクリックします。

  5. スキーマに名前を付け、ユーザーがスキーマの目的を理解するのに役立つコメントを追加します。

  6. (オプション)管理対象の保管場所を指定します。 ターゲットの外部ロケーションに対する CREATE MANAGED STORAGE 権限が必要です。 「 Unity Catalog で管理対象ストレージの場所を指定する」を参照してください。

  7. [作成]をクリックします。

  8. カタログにアクセス許可を割り当てます。 Unity Catalog 権限とセキュリティ保護可能なオブジェクトを参照してください。

  9. [保存]をクリックします。

  1. ノートブックまたは 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>に置き換えることができます。

  2. スキーマに特権を割り当てます。 Unity Catalog 権限とセキュリティ保護可能なオブジェクトを参照してください。

また、Databricks Terraform プロバイダーdatabricks_schemaを使用してスキーマを作成することもできます。スキーマ ID のリストは、databricks_schemas を使用して取得できます

スキーマ を削除する

スキーマを削除 (またはドロップ) するには、「カタログエクスプローラ」(Catalog Explorer) または SQL コマンドを使用します。 スキーマを削除するには、その所有者である必要があります。

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

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

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

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

  4. 詳細ペインで、右上隅にある3つのドットのメニューをクリックし、[ 削除]を選択します。

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

ノートブックまたは 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 でのテーブル の作成」および「 ボリュームの作成と操作」を参照してください。