適用於:
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 }
參數
-
要改變之架構的名稱。 若找不到該結構,Azure Databricks會產生SCHEMA_NOT_FOUND錯誤。
-
適用於:
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 和更新版本UNSET TAGS (tag_name [, ...] )
從架構中移除標籤。 您必須有
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 目錄將架構變更為所需的預測優化設定。 預設情況下,當建立結構描述時,預設動作是從目錄
INHERIT。 根據預設,在架構中建立的新物件會繼承架構中的設定。如果變更架構,行為會串聯至繼承預測優化的所有物件。 明確
ENABLE或DISABLE預測優化的物件不會受到架構設定的影響。若要設定架構的預測優化,用戶必須具有架構
CREATE許可權。只有非 Delta Sharing 的架構以及 Unity Catalog 中的受控目錄才有資格進行預測優化。
SET 管理位置
適用於:
,Databricks SQL
,Databricks 執行時 18.1 及以上版本勾
,僅限 Unity 目錄更改標準架構的託管儲存位置。 在結構中建立的新管理資料表和管理磁碟區會使用更新後的位置。 Databricks 不會移動現有物件。
位置
新的託管儲存位置的雲端儲存路徑。 它必須被限制在外部地點。
範例
-- 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/';