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 zamanlama veya tetikleyici ekleyin, değiştirin veya bırakın. Zamanlama veya tetikleyici yoksa, nesnenin en son verileri yansıtacak şekilde el ile yenilenmesi gerekir.
  • Mevcut akış tablosu için satır filtresi ekleyin, değiştirin veya bırakın.
  • Mevcut bir akış tablosu için etiketleri ayarlama veya kaldırma.
  • Maskeler, etiketler ve açıklamalar da dahil olmak üzere mevcut akış tablosunun sütun özelliklerini değiştirin.

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.

        Cron ifadesi, sırasıyla altı boşlukla ayrılmış alan kullanır: seconds minutes hours day-of-month month day-of-week. ya ? da day-of-month belirtilmemiş olarak bırakmak için kullanınday-of-week.

        Örneğin, SCHEDULE CRON '0 0 0 * * ?' AT TIME ZONE 'UTC' utc gece yarısı her gün yenilenir.

        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 ]

      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

    Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

    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

    Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

    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 } [, ...] )

    Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.3 ve üzeri

    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 [, ...] )

    Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.3 ve üzeri

    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

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

    Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

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

  • SET MASK yan tümcesi

    Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

    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

    Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

    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 } [, ...] )

    Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.3 ve üzeri

    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 [, ...] )

    Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.3 ve üzeri

    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'