Aracılığıyla paylaş


ALTER MATERIALIZED VIEW

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL

Görünümle ilişkili meta verileri değiştirir.

Aşağıdaki eylemlerden herhangi birini gerçekleştirmenizi sağlar:

  • Mevcut bir gerçekleştirilmiş görünümü yenilemek için bir zamanlama ekleyin.
  • Gerçekleştirilmiş görünüm için mevcut yenileme zamanlamasını değiştirme.
  • Gerçekleştirilmiş görünüm için yenileme zamanlamasını kaldırın. Zamanlama kaldırılırsa, nesnenin en son verileri yansıtacak şekilde manuel olarak yenilenmesi gerekir.

Gerçekleştirilmiş görünümde açıklama eklemek veya değiştirmek için kullanın COMMENT ON.

Not

İşlem hattı tarafından oluşturulan bir veri kümesini sql tanımlamayla çelişecek şekilde değiştirmek bazı değişikliklerin geri alınmasına neden olabilir. Lakeflow Spark Bildirimli İşlem Hatları ile komut kullanma hakkında bilgi için bkz.ALTER.

Sözdizimi

ALTER MATERIALIZED VIEW view_name
  {
    { ADD | ALTER } schedule |
    DROP SCHEDULE |
    ALTER COLUMN column_clause |
    SET ROW FILTER clause |
    DROP ROW FILTER |
    SET TAGS clause |
    UNSET TAGS clause }

  schedule
    { SCHEDULE [ REFRESH ] schedule_clause |
      TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }

  schedule_clause
    { EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
      CRON cron_string [ AT TIME ZONE timezone_id ] }

  column_clause
    column_identifier
    { COMMENT clause |
      SET MASK clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

Parametreler

  • view_name

    Tanımını değiştirmek için gerçekleştirilmiş görünümün adı. Ad bir zamansal belirtim içermemelidir.

  • program

    Gerçekleştirilmiş görünümde bir SCHEDULE veya deyimi ekleyin veya TRIGGER değiştirin.

    Not

    Bu komutla Lakeflow Spark Bildirimli İşlem Hatları ile oluşturulan gerçekleştirilmiş görünümün zamanlamasını değiştiremezsiniz. İşlem hattı düzenleyicisini kullanın.

    • SCHEDULE [ REFRESH ] schedule_clause

      • EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }

        Düzenli aralıklarla gerçekleşen bir yenileme zamanlamak için EVERY söz dizimini kullanın. EVERY söz dizimi belirtilirse, sağlanan değere göre belirli aralıklarla akış tablosu veya gerçekleştirilmiş görünüm yenilenir; örneğin, HOUR, HOURS, DAY, DAYS, WEEKveya WEEKS. Aşağıdaki tabloda, numberiçin kabul edilen tamsayı değerleri listelenmiştir.

        Zaman birimi Tamsayı değeri
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= W <= 8

        Not

        Dahil edilen zaman biriminin tekil ve çoğul biçimleri sematik olarak eşdeğerdir.

      • CRON cron_string [ AT TIME ZONE timezone_id ]

        quartz cron değeri kullanarak yenileme işlemi zamanlamak için. Geçerli time_zone_values kabul edilir. AT TIME ZONE LOCAL desteklenmez.

        AT TIME ZONE yoksa, oturum saat dilimi kullanılır. AT TIME ZONE yoksa ve oturum saat dilimi ayarlanmadıysa bir hata oluşur. SCHEDULE , ile eşanlamlı olarak eşdeğerdir SCHEDULE REFRESH.

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Önemli

      Bu TRIGGER ON UPDATE özellik Beta sürümündedir.

      Bir yukarı akış veri kaynağı güncelleştirildiğinde, en fazla dakikada bir yenilenecek gerçekleştirilmiş görünümü ayarlar. yenilemeler arasında en az bir süre gerektirecek şekilde değerini AT MOST EVERY ayarlayın.

      Yukarı akış veri kaynakları dış veya yönetilen Delta tabloları (gerçekleştirilmiş görünümler veya akış tabloları dahil) veya bağımlılıkları desteklenen tablo türleriyle sınırlı olan yönetilen görünümler olmalıdır.

      Dosya olaylarının etkinleştirilmesi tetikleyicileri daha performanslı hale getirir ve tetikleyici güncelleştirmelerindeki sınırların bazılarını artırır.

      trigger_interval, en az 1 dakikalık bir INTERVAL deyimidir.

      TRIGGER ON UPDATE aşağıdaki sınırlamalara sahiptir

      • TRIGGER ON UPDATE kullanılırken örneklenmiş görünüm başına en fazla 10 yukarı akış veri kaynağı kullanılabilir.
      • TRIGGER ON UPDATEile en fazla 1000 akış tablosu veya gerçekleştirilmiş görünüm belirtilebilir.
      • Yan AT MOST EVERY tümcesi varsayılan olarak 1 dakikadır ve 1 dakikadan kısa olamaz.
  • DROP SCHEDULE

    Gerçekleştirilmiş görünümden bir zamanlamayı kaldırır.

  • ALTER COLUMN clause

    Bkz. ALTER COLUMN yan tümcesi.

  • SET ROW FILTER madde

    Önemli

    Bu özellik Genel Önizleme aşamasındadır.

    Gerçekleştirilmiş görünüme bir satır filtresi işlevi ekler. Gerçekleştirilmiş görünümde sonraki tüm sorgular, işlevin boole TRUEolarak değerlendirdiği satırların bir alt kümesini alır. Bu, işlevin belirli satırları filtreleyip filtrelemeyeceğini belirlemek için çağıran kullanıcının kimlik veya grup üyeliklerini incelediği ayrıntılı erişim denetimi amaçları için yararlı olabilir.

    Oluşturulduktan sonra eklenen satır filtreleri yalnızca sonraki güncelleştirmeden sonra aşağı akış tablolarına yayılır. Sürekli işlem hatları için işlem hattının yeniden başlatılması gerekir.

  • DROP ROW FILTER

    Önemli

    Bu özellik Genel Önizleme aşamasındadır.

    Varsa, satır filtresini gerçekleştirilmiş görünümden bırakır. Gelecekteki sorgular, otomatik filtreleme olmadan tablodaki tüm satırları döndürür.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Önemli

    Bu özellik Genel Önizleme aşamasındadır.

    Gerçekleştirilmiş görünüme etiket uygulama. Gerçekleştirilmiş görünüme APPLY TAG etiket ekleme izniniz olmalıdır.

    • tag_name

      Bir sabit STRING. tag_name maddileştirilmiş görünüm veya sütun içinde benzersiz olmalıdır.

    • tag_value

      Bir sabit STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Önemli

    Bu özellik Genel Önizleme aşamasındadır.

    Gerçekleştirilmiş görünümden etiketleri kaldırın. Gerçekleştirilmiş görünümden etiketleri kaldırma izniniz olmalıdır APPLY TAG .

    • tag_name

      Bir sabit STRING. tag_name maddileştirilmiş görünüm veya sütun içinde benzersiz olmalıdır.

ALTER COLUMN ifadesi

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Bir özelliği veya sütunun konumunu değiştirir.

Sözdizimi

  ALTER COLUMN
    column_identifier
    { COMMENT comment |
      SET MASK mask_clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

Parametreler

  • column_identifier

    Değiştirilecek sütunun adı.

  • COMMENT comment

    Sütunun column_name açıklamasını değiştirir. comment sabit STRING olmalıdır.

  • SET MASK yan tümcesi

    Hassas verileri anonim hale getirmek için bir sütun maskesi işlevi ekler. Bu sütundan sonraki tüm sorgular, sütunun özgün değeri yerine bu işlevi sütun üzerinde değerlendirmenin sonucunu alır. Bu, işlevin çağrı yapan kullanıcının kimliğini veya grup üyeliklerini inceleyerek değeri gizleyip gizlemeyeceğini belirleyebildiği detaylı erişim kontrolü amaçları için yararlı olabilir.

    Oluşturulduktan sonra eklenen sütun maskeleri yalnızca sonraki güncelleştirmeden sonra aşağı akış tablolarına yayılır. Sürekli işlem hatları için işlem hattının yeniden başlatılması gerekir.

  • DROP MASK

    Bu sütun için varsa sütun maskesini kaldırır. Bu sütundan gelecek sorgular sütunun özgün değerlerini alır.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Sütuna etiketleri uygula. Sütuna etiket eklemek için APPLY TAG izniniz olmalıdır.

    • tag_name

      Bir sabit STRING. tag_name tablo veya sütun içinde benzersiz olmalıdır.

    • tag_value

      Bir sabit STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Verilen etiketleri sütundan kaldırın. Etiketleri sütundan kaldırma izniniz olmalıdır APPLY TAG .

    • tag_name

      Bir sabit STRING. tag_name tablo veya sütun içinde benzersiz olmalıdır.

Örnekler

-- Adds a schedule to refresh the materialized view whenever its upstream data gets updated.
> ALTER MATERIALIZED VIEW my_mv
    ADD TRIGGER ON UPDATE;

-- Alters the schedule to refresh the materialized view when its upstream data
-- gets updated, and make sure the update frequency is no more than 1 update
-- per hour.
> ALTER MATERIALIZED VIEW my_mv
    ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;

-- Alters the schedule to run every two hours for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    ALTER SCHEDULE EVERY 2 HOURS;

-- Alters the schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
    ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    DROP SCHEDULE;

-- Adds a column comment
> ALTER MATERIALIZED VIEW my_mv
    ALTER COLUMN my_column_name COMMENT 'test'