Aracılığıyla paylaş


ALTER STREAMING TABLE

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

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

  • Mevcut akış tablosunu yenilemek için bir zamanlama veya tetikleyici ekleyin.
  • Akış tablosu için mevcut yenileme zamanlamasını veya tetikleyicisini değiştirme.
  • Akış tablosu için yenileme zamanlamasını veya tetikleyicisini bırakın. Zamanlama veya tetikleyici yoksa, nesnenin en son verileri yansıtacak şekilde el ile yenilenmesi gerekir.

Akış tablosuna 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 STREAMING TABLE table_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 }

Parametre

  • table_name

    Tanımını değiştirmek istediğiniz akış tablosunun adı. Ad bir zamansal belirtim içermemelidir.

  • program

    Tabloya veya SCHEDULE deyimini ekleyin veya TRIGGER değiştirin.

    Not

    Bu komutla Lakeflow Spark Bildirimli İşlem Hatları ile oluşturulan bir akış tablosunun 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, akış tablosu veya gerçekleştirilmiş görünüm, sağlanan değere göre belirli aralıklarla 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 ]

        Yenileme zamanlamak için quartz cron değeri kullanın. Geçerli time_zone_values kabul edilir. AT TIME ZONE LOCAL desteklenmez.

        Yoksa AT TIME ZONE , 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 tabloyu yenilenecek şekilde 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 UPDATEkullanılırken akış tablosu başına 10'dan fazla yukarı akış veri kaynağı yoktur.
      • 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

    Akış tablosundan 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.

    Akış tablosuna bir satır filtresi işlevi ekler. Akış tablosuna yapılan 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.

    Mevcutsa akış tablosundan satır filtresini kaldırı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.

    Akış tablosuna etiket uygulama. Akış tablosuna APPLY TAG etiket ekleme izniniz olmalıdır.

    • tag_name

      Bir sabit STRING. Akış tablosunda tag_name benzersiz olmalıdır.

    • tag_value

      Bir sabit STRING.

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

    Önemli

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

    Akış tablosundan etiketleri kaldırın. Akış tablosundaki etiketleri kaldırma izniniz olmalıdır APPLY TAG .

    • tag_name

      Bir sabit STRING. Akış tablosunda tag_name 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 }

Parametre

  • 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 streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
    ADD TRIGGER ON UPDATE;

-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
    ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;

-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE EVERY 1 HOUR;

-- Alters the schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
  DROP SCHEDULE;

-- Adds a column comment
> ALTER STREAMING TABLE my_st
    ALTER COLUMN column_name COMMENT 'test'