スキーマの作成
この記事では、 Unity Catalog と従来の Hive metastoreでスキーマを作成する方法について説明します。
DatabricksUnity Catalogと のスキーマ動作の比較など、Hive metastore のスキーマについては、「Databricksのスキーマとは 」を参照してください。
始める前に
Unity Catalog でスキーマを作成するには:
- スキーマの作成を実行する ワークスペースにリンクされた Unity Catalog メタストアが必要です。
- スキーマの親カタログに対する
USE CATALOG
およびCREATE SCHEMA
データのアクセス許可が必要です。メタストア管理者またはカタログの所有者は、これらの特権を付与できます。 メタストア管理者の場合は、これらの特権を自分自身に付与できます。 - スキーマ内のテーブルとボリュームのオプションの管理ストレージロケーションを指定するには、外部ロケーションを Unity Catalogで定義し、外部ロケーションに対する
CREATE MANAGED STORAGE
権限を持っている必要があります。 「Unity Catalog で管理されたストレージの場所を指定する」を参照してください。 - ノートブックを実行してスキーマを作成するために使用するクラスターでは、Unity Catalog 準拠のアクセス モードを使用する必要があります。 「アクセスモード」を参照してください。SQLウェアハウスは常に Unity Catalogをサポートしています。
Hive metastoreでスキーマを作成するには:
- 必要な権限は、テーブルアクセスコントロールを使用しているかどうかによって異なります。 「Hive metastore特権とセキュリティ保護可能なオブジェクト (レガシ)」を参照してください。
スキーマを作成する
Unity Catalog でスキーマを作成するには、Catalog Explorer または SQL コマンドを使用できます。 Hive metastoreでスキーマを作成するには、SQL コマンドを使用する必要があります。
- Catalog Explorer
- SQL
- Unity Catalog メタストアにリンクされているワークスペースにログインします。
[カタログ] をクリックします。
- 左側の カタログ ウィンドウで、スキーマを作成するカタログをクリックします。
- 詳細ペインで、 スキーマの作成 をクリックします。
- スキーマに名前を付け、ユーザーがスキーマの目的を理解するのに役立つコメントを追加します。
- (オプション)管理されたストレージの場所を指定します。ターゲットの外部ロケーションに対する
CREATE MANAGED STORAGE
権限が必要です。 「Unity Catalog で管理されたストレージの場所を指定する」と「スキーマの管理された場所」を参照してください。 - 作成 をクリックします。
- スキーマに対する権限を付与します。「Unity Catalog での特権の管理」を参照してください。
- 保存 をクリックします。
-
次の SQL コマンドをノートブックまたは SQL クエリ エディターで実行します。括弧内の項目はオプションです。
SCHEMA
またはDATABASE
を使用できます。プレースホルダーの値を置き換えます。<catalog-name>
: スキーマの親カタログの名前。Hive metastore でスキーマを作成し、Unity Catalog 対応ワークスペースを使用している場合は、カタログ名としてhive_metastore
を使用します。ワークスペースで Unity Catalog が有効になっていない場合は、カタログをまったく指定しないでください。<schema-name>
: スキーマの名前。<location-path>
: 管理されたストレージの場所へのオプションのパス。Unity CatalogにはMANAGED LOCATION
、Hive metastoreにはLOCATION
と一緒に使用します。Unity Catalogでは、指定したパスの外部ロケーションに対するCREATE MANAGED STORAGE
権限が必要です。「Unity Catalog で管理されたストレージの場所を指定する」と「スキーマの管理された場所」を参照してください。<comment>
: オプションの説明またはその他のコメント。<property-key> = <property-value> [ , ... ]
:随意。スキーマに設定する Spark SQL のプロパティと値。
パラメーターの詳細については、「 CREATE SCHEMA」を参照してください。
SQLCREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <catalog-name>.<schema-name>
[ MANAGED LOCATION '<location-path>' | LOCATION '<location-path>']
[ COMMENT <comment> ]
[ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ]; -
スキーマに対する権限を付与します。Unity Catalog の特権については、「 Unity Catalog での特権の管理」を参照してください。
Databricks Terraform プロバイダーと databricks_schema を使用してスキーマを作成することもできます。スキーマ ID のリストは、 databricks_schemas
次のステップ
- スキーマにテーブル、ビュー、ボリュームを追加する方法については、「 テーブルとは」、「 ビューとは」、および 「Unity Catalog ボリュームとは」を参照してください。
- AI モデルをスキーマに追加する方法については、「 Unity Catalog でモデルのライフサイクルを管理する」を参照してください。
- 既存のスキーマを表示、更新、および削除する方法については、「 スキーマの管理」を参照してください。