スキーマの作成
この記事では、 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
- Log in to a workspace that is linked to the Unity Catalog metastore.
- Click
Catalog.
- In the Catalog pane on the left, click the catalog you want to create the schema in.
- In the detail pane, click Create schema.
- Give the schema a name and add any comment that would help users understand the purpose of the schema.
- (Optional) Specify a managed storage location. Requires the
CREATE MANAGED STORAGE
privilege on the target external location. See Specify a managed storage location in Unity Catalog and Managed locations for schemas. - Click Create.
- Grant privileges on the schema. See Manage privileges in Unity Catalog.
- Click Save.
-
Run the following SQL commands in a notebook or the SQL query editor. Items in brackets are optional. You can use either
SCHEMA
orDATABASE
. Replace the placeholder values:<catalog-name>
: The name of the parent catalog for the schema. If you are creating a schema in Hive metastore and you are in a Unity Catalog-enabled workspace, usehive_metastore
as the catalog name. If your workspace is not enabled for Unity Catalog, don’t specify a catalog at all.<schema-name>
: A name for the schema.<location-path>
: Optional path to a managed storage location. Use withMANAGED LOCATION
for Unity Catalog and withLOCATION
for Hive metastore. In Unity Catalog, you must have theCREATE MANAGED STORAGE
privilege on the external location for the path that you specify. See Specify a managed storage location in Unity Catalog and Managed locations for schemas.<comment>
: Optional description or other comment.<property-key> = <property-value> [ , ... ]
: Optional. Spark SQL properties and values to set for the schema.
For more detailed parameter descriptions, see 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 [ , ... ]> ) ]; -
Grant privileges on the schema. For Unity Catalog privileges, see Manage privileges in Unity Catalog.
Databricks Terraform プロバイダーと databricks_schema を使用してスキーマを作成することもできます。スキーマ ID のリストは、 databricks_schemas
次のステップ
- スキーマにテーブル、ビュー、ボリュームを追加する方法については、「 テーブルとは」、「 ビューとは」、および 「Unity Catalog ボリュームとは」を参照してください。
- AI モデルをスキーマに追加する方法については、「 Unity Catalog でモデルのライフサイクルを管理する」を参照してください。
- 既存のスキーマを表示、更新、および削除する方法については、「 スキーマの管理」を参照してください。