تغيير طريقة العرض

ينطبق على:وضع علامة 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
  }

المعلمات

  • view_name

    يحدد طريقة العرض التي سيتم تغييرها. إذا تعذر العثور على طريقة العرض، فإن Azure Databricks يثير خطأ TABLE_OR_VIEW_NOT_FOUND .

  • إعادة التسمية إلى to_view_name

    إعادة تسمية طريقة العرض الموجودة داخل المخطط. لا يمكن إعادة تسمية طرق العرض المجسدة.

    يحدد to_view_name الاسم الجديد لعرض . to_view_name إذا كان موجودا بالفعل، TableAlreadyExistsException يتم طرح . إذا كان to_view_name مؤهلا، فيجب أن يتطابق مع اسم view_name مخطط .

  • تعيين ТБ LPROPERTIES

    تعيين أو إعادة تعيين خاصية واحدة أو أكثر معرفة من قبل المستخدم.

  • إلغاء تعيين ТБ LPROPERTIES

    إزالة خاصية واحدة أو أكثر من الخصائص المعرفة من قبل المستخدم.

  • استعلام AS

    استعلام يقوم بإنشاء طريقة العرض من الجداول الأساسية أو طرق العرض الأخرى.

    هذه العبارة تعادل عبارة 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');