スキーマの作成

この記事では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にスキーマを作成するには:

スキーマを作成する

Unity Catalog でスキーマを作成するには、Catalog Explorer または SQL コマンドを使用できます。 Hive metastoreにスキーマを作成するには、 SQLコマンドを使用する必要があります。

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

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

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

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

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

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

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

  8. スキーマに対する権限を付与します。 Unity Catalog での権限の管理を参照してください。

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

  1. ノートブックまたは 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 [ , ... ]> ) ];
    
  2. スキーマに対する権限を付与します。 Unity Catalog の権限については、 Unity Catalog での権限の管理を参照してください。

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

次のステップ