スキーマの作成

この記事では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 を使用して取得できます

次のステップ