スキーマの作成
この記事では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 でモデルのライフサイクルを管理する」を参照してください。
既存のスキーマを表示、更新、および削除する方法については、「 スキーマの管理」を参照してください。