スキーマの作成
この記事では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コマンドを使用する必要があります。
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を参照してください。
CREATE { 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 でモデルのライフサイクルを管理するを参照してください。
既存のスキーマを表示、更新、および削除する方法については、スキーマの管理を参照してください。