Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к:
Databricks SQL
Databricks Runtime
Изменяет метаданные, связанные с представлением. Он может изменить определение представления, переименовать представление и задать или отменить набор метаданных, задав параметр TBLPROPERTIES.
Чтобы добавить или изменить комментарий в представлении, используйте COMMENT ON.
Если представление кэшируется, команда очищает кэшированные данные представления и все его зависимые сущности, которые на него ссылаются. Кэш представления заполняется лениво при следующем доступе к представлению. Команда оставляет зависимые от представления зависимые от представления не качнутые.
Необходимые привилегии
При использовании каталога Unity следующие операции не требуют владения представлением:
-
SET TAGS: требуется привилегияAPPLY TAG. -
UNSET TAGS: требуется привилегияAPPLY TAG.
Для следующих операций требуется владение представлением:
SET TBLPROPERTIESUNSET TBLPROPERTIES-
AS query(определение представления изменений) -
WITH SCHEMA(изменение привязки схемы)
RENAME TO требуется привилегия MANAGE в представлении.
Для SET OWNER TOэтого необходимые привилегии зависят от нового владельца:
- Если субъект сам по себе, у вас должна быть
MANAGEпривилегия в представлении. - Если субъект является группой, необходимо быть членом этой группы.
- Во всех остальных случаях необходимо быть администратором хранилища метаданных.
Синтаксис
ALTER VIEW view_name
{ rename |
SET TBLPROPERTIES clause |
UNSET TBLPROPERTIES clause |
alter_body |
schema_binding |
owner_to |
SET TAGS clause |
UNSET TAGS clause }
rename
RENAME TO to_view_name
alter_body
AS { query | yaml_definition }
yaml_definition
$$
yaml_string
$$
schema_binding
WITH SCHEMA { BINDING | [ TYPE ] EVOLUTION | COMPENSATION }
property_key
{ identifier [. ...] | string_literal }
owner_to
[ SET ] OWNER TO principal
Параметры
-
Определяет представление, которое нужно изменить. Если представление не удается найти, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND .
ПЕРЕИМЕНОВАТЬ В to_view_name
Переименовывает существующее представление в
to_view_name.Для представлений в Unity Catalog
to_view_nameдолжен находиться в том же каталоге, что иview_name. Для других представлений,to_view_nameдолжен быть в той же схеме, что иview_name.Если
to_view_nameэтот параметр не определен, он неявно квалифицируется с текущей схемой.Материализованные представления нельзя переименовать.
-
Задает или сбрасывает одно или несколько свойств, определяемых пользователем.
-
Удаляет одно или несколько свойств, определяемых пользователем.
AS ЗАПРОС
Запрос, который создает представление из базовых таблиц или других представлений.
AS queryне поддерживается для представлений метрик.Это предложение эквивалентно инструкции CREATE OR REPLACE VIEW в существующем представлении, за исключением того, что права, предоставленные в представлении, сохраняются.
AS yaml_definition
Применяется к:
Databricks SQL
Databricks Runtime 16.4 и выше
.yaml_определение для представления метрик.
Это предложение эквивалентно инструкции CREATE OR REPLACE VIEW в существующем представлении, за исключением того, что права, предоставленные в представлении, сохраняются.
-
Применяется для:
Databricks SQL
Databricks Runtime 15.3 и вышеУказывает, как последующий запрос представления адаптируется к изменениям схемы представления из-за изменений в определениях базовых объектов. См. CREATE VIEW… SCHEMA для получения сведений о режимах привязки схемы.
Эта клауза не поддерживается для видов метрик.
[ SET ] ВЛАДЕЛЕЦ К principal
Передает права владения представлением субъекту
principal. Если представление не определено в этомhive_metastoreразделе, вы можете передать только группе, к которой вы принадлежите.Область применения:
Databricks SQL
Databricks Runtime 11.3 LTS и вышеSETразрешено в качестве необязательного ключевого слова.SET TAGS ( { tag_name = tag_value } [, ...] )
Применяет теги к представлению. Для добавления тегов в представление требуется
APPLY TAGпривилегия.Применяется к:
Databricks SQL
Databricks Runtime 13.3 LTS и вышеUNSET TAGS ( tag_name [, ...] )
Удаляет теги из представления. Для удаления тегов из представления требуется привилегия
APPLY TAG.Применяется к:
Databricks SQL
Databricks Runtime 13.3 LTS и вышеtag_name
Литерал
STRING. Онtag_nameдолжен быть уникальным в представлении.tag_value
Литерал
STRING.
Примеры
-- Rename only changes the view name.
-- The source and target schemas of the view must be the same.
-- Use qualified or unqualified name for the source and target view.
> ALTER VIEW tempsc1.v1 RENAME TO tempsc1.v2;
-- Verify that the new view is created.
> DESCRIBE TABLE EXTENDED tempsc1.v2;
c1 int NULL
c2 string NULL
# Detailed Table Information
Database tempsc1
Table v2
-- Before ALTER VIEW SET TBLPROPERTIES
> DESCRIBE TABLE EXTENDED tempsc1.v2;
c1 int null
c2 string null
# Detailed Table Information
Database tempsc1
Table v2
Table Properties [....]
-- Set properties in TBLPROPERTIES
> ALTER VIEW tempsc1.v2 SET TBLPROPERTIES ('created.by.user' = "John", 'created.date' = '01-01-2001' );
-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
c1 int NULL
c2 string NULL
# Detailed Table Information
Database tempsc1
Table v2
Table Properties [created.by.user=John, created.date=01-01-2001, ....]
-- Remove the key created.by.user and created.date from `TBLPROPERTIES`
> ALTER VIEW tempsc1.v2 UNSET TBLPROPERTIES (`created`.`by`.`user`, created.date);
-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify the changes
> DESCRIBE TABLE EXTENDED tempsc1.v2;
c1 int NULL
c2 string NULL
# Detailed Table Information
Database tempsc1
Table v2
Table Properties [....]
-- Change the view definition
> ALTER VIEW tempsc1.v2 AS SELECT * FROM tempsc1.v1;
-- Use `DESCRIBE TABLE EXTENDED` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
c1 int NULL
c2 string NULL
# Detailed Table Information
Database tempsc1
Table v2
Type VIEW
View Text select * from tempsc1.v1
View Original Text select * from tempsc1.v1
-- Transfer ownership of a view to another user
> ALTER VIEW v1 OWNER TO `alf@melmak.et`
-- Change the view schema binding to adopt type evolution
> ALTER VIEW v1 WITH SCHEMA TYPE EVOLUTION;
-- Apply three tags to the view named `test`.
> ALTER VIEW test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');
-- Remove three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');
-- Alter the metric view `region_sales_metrics` defined in CREATE VIEW
-- to drop the `total_revenue_for_open_orders` measure.
> ALTER VIEW region_sales_metrics
AS $$
version: 0.1
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: month
expr: date_trunc('MONTH', o_orderdate)
- name: status
expr: case
when o_orderstatus = 'O' then 'Open'
when o_orderstatus = 'P' then 'Processing'
when o_orderstatus = 'F' then 'Fulfilled'
end
- name: order_priority
expr: split(o_orderpriority, '-')[1]
measures:
- name: count_orders
expr: count(1)
- name: total_revenue
expr: SUM(o_totalprice)
- name: total_revenue_per_customer
expr: SUM(o_totalprice) / count(distinct o_custkey)
$$;
> DESCRIBE EXTENDED region_sales_metrics;
col_name data_type
month timestamp
status string
order_priority string
count_orders bigint measure
total_revenue decimal(28,2) measure
total_revenue_per_customer decimal(38,12) measure
# Detailed Table Information
Catalog main
Database default
Table region_sales_metrics
Owner alf@melmak.et
Created Time Sun May 18 23:45:25 UTC 2025
Last Access UNKNOWN
Created By Spark
Type METRIC_VIEW
Comment A metric view for regional sales metrics.
View Text "
version: 0.1
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: month
expr: date_trunc('MONTH', o_orderdate)
- name: status
expr: case
when o_orderstatus = 'O' then 'Open'
when o_orderstatus = 'P' then 'Processing'
when o_orderstatus = 'F' then 'Fulfilled'
end
- name: order_priority
expr: split(o_orderpriority, '-')[1]
measures:
- name: count_orders
expr: count(1)
- name: total_revenue
expr: SUM(o_totalprice)
- name: total_revenue_per_customer
expr: SUM(o_totalprice) / count(distinct o_custkey)
"
Language YAML
Table Properties [metric_view.from.name=samples.tpch.orders, metric_view.from.type=ASSET, metric_view.where=o_orderdate > '1990-01-01']