تغيير طريقة العرض
ينطبق على: Databricks SQL Databricks Runtime
تغيير بيانات التعريف المقترنة بالعرض. يمكنه تغيير تعريف طريقة العرض، وتغيير اسم طريقة العرض إلى اسم مختلف، وتعيين بيانات تعريف طريقة العرض وإلغاء تعيينها عن طريق تعيين TBLPROPERTIES
.
إذا تم تخزين طريقة العرض مؤقتا، يقوم الأمر بمسح البيانات المخزنة مؤقتا من طريقة العرض وكافة التوابع الخاصة بها التي تشير إليها. سيتم ملء ذاكرة التخزين المؤقت لعرض بشكل كبير عند الوصول إلى طريقة العرض في المرة التالية. يترك الأمر توابع طريقة العرض على أنها غير موصولة.
بناء الجملة
ALTER [ MATERIALIZED ] VIEW view_name
{ rename |
SET TBLPROPERTIES clause |
UNSET TBLPROPERTIES clause |
alter_body |
owner_to |
schedule
SET TAGS clause |
UNSET TAGS clause }}}
rename
RENAME TO to_view_name
alter_body
AS query
property_key
{ idenitifier [. ...] | string_literal }
owner_to
[ SET ] OWNER TO principal
schedule
{
{ ADD | ALTER } SCHEDULE [ REFRESH ]
CRON cron_string [ AT TIME ZONE timezone_id ] |
DROP SCHEDULE
}
المعلمات
-
يحدد طريقة العرض التي سيتم تغييرها. إذا تعذر العثور على طريقة العرض، فإن Azure Databricks يثير خطأ TABLE_OR_VIEW_NOT_FOUND .
إعادة التسمية إلى to_view_name
إعادة تسمية طريقة العرض الموجودة داخل المخطط. لا يمكن إعادة تسمية طرق العرض المجسدة.
يحدد to_view_name الاسم الجديد لعرض .
to_view_name
إذا كان موجودا بالفعل،TableAlreadyExistsException
يتم طرح . إذا كانto_view_name
مؤهلا، فيجب أن يتطابق مع اسمview_name
مخطط .-
تعيين أو إعادة تعيين خاصية واحدة أو أكثر معرفة من قبل المستخدم.
-
إزالة خاصية واحدة أو أكثر من الخصائص المعرفة من قبل المستخدم.
-
استعلام يقوم بإنشاء طريقة العرض من الجداول الأساسية أو طرق العرض الأخرى.
هذه العبارة تعادل عبارة CREATE OR REPLACE VIEW في طريقة عرض موجودة، باستثناء أنه يتم الاحتفاظ بالامتيازات الممنوحة في طريقة العرض.
[ SET ] المالك إلى الأساسي
نقل ملكية طريقة العرض إلى
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
.جدولة [ تحديث ] CRON cron_string [ في المنطقة الزمنية timezone_id ]
يسمح لك بإضافة جدول زمني إلى أو تغيير جدول طريقة عرض مجسدة.
إذا تم توفيرها، يقوم بجدولة جدول الدفق أو العرض المجسد لتحديث بياناته بجدول cron كوارتز المحدد. يتم قبول time_zone_values فقط.
AT TIME ZONE LOCAL
غير مدعم. إذاAT TIME ZONE
لم يكن موجودا، يتم استخدام المنطقة الزمنية للجلسة. إذاAT TIME ZONE
لم يكن موجودا ولم يتم تعيين المنطقة الزمنية لجلسة العمل، يتم طرح خطأ.SCHEDULE
مكافئ دلاليا لSCHEDULE REFRESH
.لا يمكنك استخدام بناء الجملة
SCHEDULE
في تعريف مسار Delta Live Tables.
الأمثلة
-- Rename only changes the view name.
-- The source and target schemas of the view have to 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`
-- Adds a schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Alters the schedule to run every 15 minutes for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE CRON '0 0/15 * * * ? *';
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;
-- Applies three tags to the view named `test`.
> ALTER VIEW test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');
-- Removes three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');