ALTER SCHEMA

適用対象: 「はい」チェックマークがオンDatabricks SQL 「はい」チェックマークがオン Databricks Runtime

スキーマの所有者の変更、スキーマのマネージド ストレージの場所の変更、 予測最適化 動作の設定、 DBPROPERTIES設定によるスキーマに関連付けられているメタデータの変更、削除されたマネージド テーブルの復旧期間の設定を行います。 指定したプロパティ値によって、同じプロパティ名を持つ既存の値がオーバーライドされます。

SCHEMADATABASE の使用は交換可能ですが、SCHEMA をお勧めします。

構文

ALTER SCHEMA schema_name
    { DEFAULT COLLATION default_collation_name |
      SET DBPROPERTIES ( { key = val } [, ...] ) |
      [ SET ] OWNER TO principal
      SET TAGS ( { tag_name = tag_value } [, ...] ) |
      UNSET TAGS ( tag_name [, ...] ) |
      { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION |
      SET MANAGED LOCATION location |
      [ SET ] RETAIN DROPPED TO number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } }

パラメーター

  • schema_name

    変更するスキーマの名前。 スキーマが見つからない場合、Azure Databricksは SCHEMA_NOT_FOUND エラーを発生させます。

  • デフォルトの照合順序 default_collation_name

    適用対象:はい Databricks SQL チェックが Databricks Runtime 17.1 以降" とマークされているチェック

    スキーマ内で定義された新しいオブジェクトの既定の照合順序を変更します。 スキーマ内の既存のオブジェクトの既定の照合順序は変更されません。

  • DBPROPERTIES ( key = val [, ...] )

    設定または設定解除するスキーマ プロパティ。

  • [ SET ] 所有者を主要

    スキーマの所有権を principal に譲渡します。

    適用対象:「はい」チェックマークがオン Databricks SQL 「はい」チェックマークがオン Databricks Runtime 11.3 LTS 以降

    SET は省略可能なキーワードとして使用できます。

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    タグをスキーマに適用します。 タグをスキーマに適用するには、USE SCHEMA が必要です。

    適用対象:「はい」チェックマークがオン Databricks SQL 「はい」チェックマークがオン Databricks Runtime 13.3 LTS 以降

  • タグを解除 (タグ名 [, …])

    スキーマからタグを削除します。 スキーマからタグを削除するには、USE SCHEMA が必要です。

    適用対象:「はい」チェックマークがオン Databricks SQL 「はい」チェックマークがオン Databricks Runtime 13.3 LTS 以降

  • tag_name

    リテラル STRING です。 tag_name は、スキーマ内で一意である必要があります。

  • tag_value

    リテラル STRING です。

  • { ENABLE |DISABLE |INHERIT } 予測最適化

    適用対象:「はい」チェックマークがオン Databricks SQL 「はい」チェックマークがオン Databricks Runtime 12.2 LTS 以降「はい」チェックマークがオン Unity Catalog のみ

    スキーマを目的の予測最適化設定に変更します。 デフォルトでは、スキーマが作成されたときの動作は、カタログから INHERIT です。 既定では、スキーマに作成された新しいオブジェクトは、スキーマから設定を継承します。

    スキーマが変更されると、その動作は予測最適化を継承するすべてのオブジェクトにカスケードされます。 予測最適化を明示的に ENABLE または DISABLE するオブジェクトは、スキーマ設定の影響を受けません。

    スキーマの予測最適化を設定するには、スキーマに対する CREATE のアクセス許可が必要です。

    OpenSharing 以外のスキーマのみ、Unity カタログのマネージド カタログは予測最適化の対象となります。

  • SET 管理された場所

    適用対象:はい Databricks SQL チェックが Databricks Runtime 18.1" とマークされ、上記のチェックで

    標準スキーマのマネージド ストレージの場所を変更します。 スキーマで作成された新しいマネージド テーブルとマネージド ボリュームでは、更新された場所が使用されます。 Databricks は既存のオブジェクトを移動しません。

    • 場所

      新しいマネージド ストレージの場所のクラウド ストレージ パス。 外部の場所に含まれている必要があります。

  • [ SET ] DROP TO NUMBER { HOUR |HOURS |DAY |DAYS |WEEK |WEEKS }

    適用対象:はい Databricks Runtime 17.3 以上の チェックマークが付いたチェックははい Unity カタログのみ

    Important

    この機能は パブリック プレビュー段階です

    スキーマ内の削除されたマネージド テーブルの復旧期間を設定します。この期間は、 UNDROP TABLE コマンドを使用して削除されたテーブルを復旧できます。 既定値は親カタログから継承されます (設定されていない場合は 7 日間)。 値は 0 時間 (復旧を無効にするには) または 7 ~ 30 日 (含む) である必要があります。

    復旧期間を 0 に設定すると、削除されたテーブルは UNDROP を使用して復旧できず、データ ファイルは 48 時間以内にクラウド ストレージから削除されます。

    スキーマ レベルの復旧期間は、スキーマ内のテーブルのカタログ レベルの設定よりも優先されます。 この設定は、復旧期間の構成後に削除されたテーブルにのみ適用されます。 復旧期間が終了すると、マネージド テーブルのデータ ファイルは 48 時間以内にクラウド ストレージから削除されます。

    SET は省略可能なキーワードとして使用できます。 スキーマ MANAGE 権限または所有権が必要です。 「マネージド テーブルの削除」も参照してください。

-- Creates a schema named `inventory`.
> CREATE SCHEMA inventory;

-- Alters the schema to set properties `Edited-by` and `Edit-date`.
> ALTER SCHEMA inventory SET DBPROPERTIES ('Edited-by' = 'John', 'Edit-date' = '01/01/2001');

-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED inventory;
 database_description_item                 database_description_value
 ------------------------- ------------------------------------------
             Database Name                                  inventory
               Description
                  Location    file:/temp/spark-warehouse/inventory.db
                Properties ((Edit-date,01/01/2001), (Edited-by,John))

-- Transfer ownership of the schema to another user
> ALTER SCHEMA inventory OWNER TO `alf@melmak.et`

-- Applies three tags to the schema named `test`.
> ALTER SCHEMA test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the schema named `test`.
> ALTER SCHEMA test UNSET TAGS ('tag1', 'tag2', 'tag3');

-- Enables predictive optimization for objects in schema my_schema
> ALTER SCHEMA my_schema ENABLE PREDICTIVE OPTIMIZATION;

-- Alter the default collation of a schema
> ALTER SCHEMA my_schema DEFAULT COLLATION UNICODE_CI_AI;

-- Change the managed storage location of a schema
> ALTER SCHEMA my_catalog.my_schema SET MANAGED LOCATION 's3://my-bucket/schemas/my_schema/';

-- Set a 14-day recovery period for dropped managed tables in a schema
> ALTER SCHEMA my_catalog.my_schema RETAIN DROPPED TO 14 DAYS;

-- Set a 7-day recovery period (overrides any catalog-level setting)
> ALTER SCHEMA my_catalog.my_schema SET RETAIN DROPPED TO 7 DAYS;