次の方法で共有


スキーマの作成

この記事では、Unity Catalog とレガシ Hive メタストアでスキーマを作成する方法について説明します。

Unity Catalog と Hive メタストアでのスキーマ動作の比較など、Azure Databricks のスキーマの詳細については、「Azure Databricks のスキーマとは」を参照してください。

開始する前に

Unity Catalog でスキーマを作成するには:

  • スキーマの作成を実行するワークスペースにリンクされている Unity Catalog のメタストアが必要です。
  • スキーマの親カタログに対する USE CATALOGCREATE SCHEMAデータのアクセス許可が必要です。 メタストア管理者またはカタログの所有者が、これらの権限を付与できます。 メタストア管理者の場合は、これらの権限を自分に付与できます。
  • スキーマ内のテーブルとボリュームに対してオプションのマネージド ストレージの場所を指定するには、Unity Catalog で外部の場所を定義する必要があり、その外部の場所に対する CREATE MANAGED STORAGE 特権を持っている必要があります。 「Unity Catalog の管理されたストレージの場所の指定」を参照してください。
  • ノートブックを実行してスキーマを作成するために使うクラスターは、Unity Catalog 準拠のアクセス モードを使う必要があります。 「アクセス モード」を参照してください。 SQL ウェアハウスは常に Unity Catalog をサポートします。

Hive メタストアでスキーマを作成するには:

スキーマを作成する

Unity Catalog でスキーマを作成するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。 Hive メタストアでスキーマを作成するには、SQL コマンドを使用する必要があります。

カタログ エクスプローラー

  1. Unity Catalog メタストアにリンクされているワークスペースにログインします。
  2. カタログ アイコン [カタログ] をクリックします。
  3. 左側の [カタログ] ペインで、スキーマを作成するカタログをクリックします。
  4. 詳細ペインで、[スキーマの作成] をクリックします。
  5. スキーマに名前を付け、ユーザーがスキーマの目的を理解するのに役立つコメントを追加します。
  6. (省略可能) マネージド保存場所を指定します。 ターゲットの外部の場所に対する CREATE MANAGED STORAGE 特権が必要です。 「Unity Catalog のマネージド ストレージの場所を指定する」および「スキーマのマネージド ロケーション」を参照してください。
  7. Create をクリックしてください。
  8. スキーマに対する特権を付与します。 「Unity Catalog の特権の管理」を参照してください。
  9. [保存] をクリックします。

SQL

  1. ノートブックまたは SQL クエリ エディターで次の SQL コマンドを実行します。 角かっこ内の項目は省略可能です。 SCHEMA または DATABASE を使用できます。 プレースホルダー値を次のように置き換えます。

    • <catalog-name>: スキーマの親カタログの名前。 Hive メタストアでスキーマを作成していて、Unity Catalog 対応ワークスペースで作業している場合は、カタログ名として hive_metastore を使用します。 ご使用のワークスペースが Unity Catalog に対応していない場合は、カタログは指定しないでください。
    • <schema-name>: スキーマの名前。
    • <location-path>: マネージド ストレージの場所へのオプションのパス。 Unity Catalog の場合は MANAGED LOCATION、Hive メタストアの場合は 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 を使用してスキーマを作成することもできます。 databricks_schemas を使用して、スキーマ ID の一覧を取得できます

次のステップ