Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
Görünümle ilişkili meta verileri değiştirir. ayarıyla TBLPROPERTIESgörünümün tanımını değiştirebilir, görünümü yeniden adlandırabilir ve meta verileri ayarlayabilir veya kaldırabilir. Bir metrik görünüm için, ilişki ekleyip çıkarabilir (Beta).
Görünüme açıklama eklemek veya değiştirmek için kullanın COMMENT ON.
Görünüm önbelleğe alınmışsa, komut görünümün önbelleğe alınmış verilerini ve buna başvuran tüm bağımlılarını temizler. Görünüme bir sonraki erişildiğinde görünümün önbelleği gevşek bir şekilde doldurulur. komutu görünümün bağımlılarını kazınmış olarak bırakır.
Gerekli ayrıcalıklar
Unity Kataloğu'nu kullanıyorsanız, aşağıdaki işlemler görünümün sahipliğini gerektirmez:
-
SET TAGS: Ayrıcalık gerektirirAPPLY TAG. -
UNSET TAGS: Ayrıcalık gerektirirAPPLY TAG.
Aşağıdaki işlemler görünümün sahipliğini gerektirir:
SET TBLPROPERTIESUNSET TBLPROPERTIES-
AS query(görünüm tanımını değiştir) -
WITH SCHEMA(şema bağlamayı değiştir)
RENAME TO görünümde MANAGE ayrıcalığı gerektirir.
ADD CONSTRAINTve DROP CONSTRAINT metrik görünümü veya sahipliği, ayrıca USE CATALOGUSE SCHEMA kataloğu ve şeması üzerindeki ayrıcalık gerektirirMANAGE.
ADD CONSTRAINTbir ilişki için ayrıca hedef metrik görünümü ve USE CATALOGUSE SCHEMA hedefin kataloğu ve şeması üzerinde ayrıcalık gerektirirSELECT.
için SET OWNER TOgerekli ayrıcalıklar yeni sahipe bağlıdır:
- Sorumlu kendinizse, görünümde
MANAGEayrıcalığınız olmalıdır. - Sorumlu bir grupsa, bu grubun üyesi olmanız gerekir.
- Diğer tüm durumlarda meta veri deposu yöneticisi olmanız gerekir.
Sözdizimi
ALTER VIEW view_name
{ rename |
SET TBLPROPERTIES clause |
UNSET TBLPROPERTIES clause |
alter_body |
schema_binding |
owner_to |
SET TAGS clause |
UNSET TAGS clause |
add_constraint |
drop_constraint }
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
add_constraint
ADD [ CONSTRAINT name ] relationship_constraint
relationship_constraint
cardinality RELATIONSHIP TO target_view [ [ AS ] target_alias ]
{ ON condition | USING ( column [, ...] ) }
cardinality
{ MANY | ONE } TO { MANY | ONE }
drop_constraint
DROP CONSTRAINT [ IF EXISTS ] name
Parametreler
-
Değiştirilecek görünümü tanımlar. Görünüm bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.
TO_VIEW_NAME OLARAK YENIDEN ADLANDıR
Mevcut görünümü
to_view_nameolarak yeniden adlandırır.Unity Kataloğu görünümleri için ,
to_view_nameile aynı katalogview_nameiçinde olmalıdır. Diğer görünümler için ,to_view_nameile aynı şemaview_nameiçinde olmalıdır.Nitelenmemişse
to_view_name, geçerli şemayla örtük olarak nitelenmiş olur.Gerçekleştirilmiş görünümler yeniden adlandırılamaz.
-
Bir veya daha fazla kullanıcı tanımlı özelliği ayarlar veya sıfırlar.
-
Bir veya daha fazla kullanıcı tanımlı özelliği kaldırır.
AS sorgusu
Görünümü temel tablolardan veya diğer görünümlerden oluşturan sorgu.
AS queryölçüm görünümleri için desteklenmez.Bu yan tümce, görünümde verilen ayrıcalıkların korunması dışında mevcut görünümdeki CREATE VEYA REPLACE VIEW deyimine eşdeğerdir.
AS yaml_definition
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 16.4 ve üzeri
Sadece Unity KataloğuÖlçüm görünümü için YAML tanımı.
Bu yan tümce, görünümde verilen ayrıcalıkların korunması dışında mevcut görünümdeki CREATE VEYA REPLACE VIEW deyimine eşdeğerdir.
YAML tanımının yeniden belirtilmesi, söz dizimi değişikliği olmadan ölçüm görünümünü
parametersekler, bırakır veya değiştirir. Parametre söz dizimi için bkz CREATE VIEW. . Parametreler Databricks Runtime 18.2 ve üzerini gerektirir.-
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 15.3 ve üzeriGörünümün şemasına yapılan değişikliklere uyum sağlamak amacıyla, temel alınan nesne tanımlarındaki değişiklikler sonrasında görünümün nasıl sorgulanacağını belirtir. Bkz.CREATE VIEW ... ŞEMA bağlama modlarıyla ilgili ayrıntılar için WITHSCHEMA.
Bu madde ölçüm görünümleri için desteklenmez.
[ SET ] SAHİBİ TEMEL
Görünümün sahipliğini öğesine
principalaktarır. Görünüm içindehive_metastoretanımlanmadığı sürece, sahipliğini yalnızca ait olduğunuz bir gruba aktarabilirsiniz.Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeriSETisteğe bağlı anahtar sözcük olarak izin verilir.SET TAGS ( { tag_name = tag_value } [, ...] )
Etiketleri görünüme uygular. Görünüme
APPLY TAGetiket eklemek için ayrıcalığınız olmalıdır.Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeriETIKETLERIN KÜMESINI KALDıR ( tag_name [, ...] )
Etiketleri görünümden kaldırır. Etiketleri görünümden kaldırmak için ayrıcalığınız olmalıdır
APPLY TAG.Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeritag_name
Değişmez değer
STRING.tag_namegörünümü içinde benzersiz olmalıdır.tag_value
Değişmez değer
STRING.add_constraint
Geçerlidir:
, Databricks SQL
Databricks Runtime 19 ve üzeri
evet Unity Catalog için geçerlidir.Metrik görünümünden hedef metrik görünümüne bilgi ilişkisi ekler. Bu madde Beta'da. Her ikisi
view_namedetarget_viewUnity Kataloğu metrik görünümleri olmalıdır. Geçici metrik görünümler desteklenmiyor. Azure Databricks ilişkileri zorunlu kılmaz. Metrik görünümler arasındaki ilişkilere bakınız.CONSTRAINT İsim
İstehşi olarak ilişkiye isim ver. İsmin, şemadaki tüm kısıtlamalar arasında benzersiz olması gerekir. Eğer bunu çıkarırsanız, Azure Databricks ilişkiyi
<source>_to_<target>iki metrik görünümünün niteliksiz isimleriyle adlandırır.kardinalite
Biri
MANY TO ONE,ONE TO MANY,ONE TO ONEveyaMANY TO MANY. Azure Databricks verileri kardinaliteyle karşılaştırmıyor.-
Hedef metrik görünümünü tanımlar. Hedef, aynı metastore'un herhangi bir katalogunda veya şemasında olabilir.
AS target_alias
İstehsal olarak hedefi 'de
conditionadlandırır. Bir metrik bakış açısından kendisiyle ilişki, 'nınview_nameadından farklı bir takma ad gerektirir.ŞARTLI
Ve
target_viewsütunlarıview_nameüzerinde deterministikBOOLEANbir ifade, birleştirme cümlesinin kurallarına sahiptirON. İfade bir ölçüye referans veremez. MEASURE ve AGG dahil olmak üzere bir toplam fonksiyon, pencere fonksiyonu veya bir üretici çağıramaz. En fazla 1.024 karakter olabilir.KULLANIM ( sütun [, ...] )
Her iki metrik görünümde de aynı isimle bir ila 20 sütun var.
drop_constraint
Geçerlidir:
, Databricks SQL
Databricks Runtime 19 ve üzeri
evet Unity Catalog için geçerlidir.İlişkini
namemetrik görünümünden çıkarıyor. Bu madde Beta'da. Eğer belirtirsenizIF EXISTS, bu isimle ilişki olmadığında ifadesi başarılı olur. Aksi takdirde, . ile başarısızNO_SUCH_CONSTRAINT_EXCEPTIONolur.Warning
İlişkiyi ne zaman bitireceğinizi belirtmeyin
RESTRICTCASCADE. Bunun aksine ALTER TABLE DROP CONSTRAINT, bu anahtar kelimelerin ilişkiler için tanımlanmış bir davranışı yoktur ve davranışları gelecekteki bir sürümde değişebilir.
Örnekler
-- 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']
-- Declare that each order in the `orders_mv` metric view matches one customer
-- in the `customers_mv` metric view, joined on the shared `customer_id` column.
> ALTER VIEW main.sales.orders_mv ADD CONSTRAINT orders_customer
MANY TO ONE RELATIONSHIP TO main.sales.customers_mv
USING (customer_id);
-- Declare a relationship that refers to the target by an alias in the ON condition.
> ALTER VIEW main.travel.flights_mv ADD CONSTRAINT departure_city
MANY TO ONE RELATIONSHIP TO main.travel.cities_mv AS c
ON flights_mv.departure_city_id = c.city_id;
-- Drop the relationship.
> ALTER VIEW main.travel.flights_mv DROP CONSTRAINT IF EXISTS departure_city;