Udostępnij za pomocą


ALTER STREAMING TABLE

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL

Umożliwia wykonanie dowolnej z następujących akcji:

  • Dodaj harmonogram lub wyzwalacz odświeżania istniejącej tabeli przesyłania strumieniowego.
  • Zmień istniejący harmonogram odświeżania lub wyzwalacz dla tabeli przesyłania strumieniowego.
  • Porzucanie harmonogramu odświeżania lub wyzwalacza dla tabeli przesyłania strumieniowego. Jeśli nie ma harmonogramu lub wyzwalacza, obiekt musi zostać odświeżony ręcznie, aby odzwierciedlić najnowsze dane.

Aby dodać lub zmienić komentarz do tabeli przesyłania strumieniowego, użyj polecenia COMMENT ON.

Uwaga

Zmiana zestawu danych utworzonego przez potok w sposób sprzeczny z logiką definiującą zapytanie SQL może spowodować cofnięcie niektórych modyfikacji. Zobacz Using commands with Lakeflow Spark Deklaratative Pipelines (Używanie ALTER poleceń z potokami deklaratywnymi platformy Spark w usłudze Lakeflow).

Składnia

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 }

Parametry

  • table_name

    Nazwa tabeli przesyłania strumieniowego, której definicję chcesz zmienić. Nazwa nie może zawierać specyfikacji czasowej.

  • harmonogram

    Dodaj lub zmień instrukcję SCHEDULE lub TRIGGER w tabeli.

    Uwaga

    Nie można zmodyfikować harmonogramu tabeli strumieniowej utworzonej za pomocą Lakeflow Spark Declarative Pipelines za pomocą tego polecenia. Użyj edytora potoków.

    • SCHEDULE [ REFRESH ] schedule_clause

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

        Aby zaplanować odświeżanie okresowo, użyj składni EVERY. Jeśli określono składnię EVERY, tabela strumieniowa lub zmaterializowany widok jest okresowo odświeżany z określoną częstotliwością na podstawie podanej wartości, takiej jak HOUR, HOURS, DAY, DAYS, WEEKlub WEEKS. W poniższej tabeli wymieniono zaakceptowane wartości całkowite dla number.

        Jednostka czasu Wartość całkowita
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= W <= 8

        Uwaga

        Liczba pojedyncza i mnoga dołączonej jednostki czasowej są semantycznie równoważne.

      • CRON cron_string [ AT TIME ZONE timezone_id ]

        Aby zaplanować odświeżanie przy użyciu wartości cron kwarcowego . Akceptowane są prawidłowe time_zone_values . AT TIME ZONE LOCAL nie jest obsługiwana.

        Jeśli AT TIME ZONE jest nieobecny, używana jest strefa czasowa sesji. Jeśli AT TIME ZONE jest nieobecny, a strefa czasowa sesji nie jest ustawiona, zostanie zgłoszony błąd. SCHEDULEjest semantycznie równoważne .SCHEDULE REFRESH

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Ważne

      Funkcja TRIGGER ON UPDATE jest dostępna w wersji beta.

      Ustawia tabelę tak, aby odświeżyła się po zaktualizowaniu nadrzędnego źródła danych, co najwyżej raz na minutę. Ustaw wartość , AT MOST EVERY aby wymagać co najmniej minimalnego czasu między odświeżeniami.

      Nadrzędne źródła danych muszą być zewnętrznymi lub zarządzanymi tabelami delty (w tym zmaterializowanymi widokami lub tabelami przesyłania strumieniowego) albo widokami zarządzanymi, których zależności są ograniczone do obsługiwanych typów tabel.

      Włączenie zdarzeń plików może sprawić, że wyzwalacze będą bardziej wydajne i zwiększa niektóre limity dotyczące aktualizacji wyzwalacza.

      Jest trigger_interval to instrukcja INTERVAL , która jest co najmniej 1 minuta.

      TRIGGER ON UPDATE ma następujące ograniczenia

      • Nie więcej niż 10 nadrzędnych źródeł danych na tabelę przesyłania strumieniowego w przypadku korzystania z funkcji TRIGGER ON UPDATE.
      • Maksymalnie 1000 tabel przesyłania strumieniowego lub zmaterializowanych widoków można określić za pomocą TRIGGER ON UPDATE.
      • Klauzula AT MOST EVERY jest domyślnie ustawiona na 1 minutę i nie może być mniejsza niż 1 minuta.
  • DROP SCHEDULE

    Usuwa harmonogram z tabeli przesyłania strumieniowego.

  • ALTER COLUMN clause

    Zobacz klauzulę ALTERCOLUMN.

  • SET ROW FILTER klauzula

    Ważne

    Ta funkcja jest dostępna w publicznej wersji testowej.

    Dodaje funkcję filtru wierszy do tabeli przesyłania strumieniowego. Wszystkie kolejne zapytania do tabeli przesyłania strumieniowego otrzymują podzbiór wierszy, w których funkcja zwraca wartość logiczną TRUE. Może to być przydatne w celach szczegółowej kontroli dostępu, w których funkcja może sprawdzić tożsamość lub członkostwo w grupach użytkownika wywołującego w celu określenia, czy filtrować niektóre wiersze.

    Filtry wierszy dodane po utworzeniu są propagowane tylko do tabel podrzędnych po następnej aktualizacji. W przypadku potoków ciągłych wymaga to ponownego uruchomienia potoku.

  • DROP ROW FILTER

    Ważne

    Ta funkcja jest dostępna w publicznej wersji testowej.

    Porzuca filtr wierszy z tabeli przesyłania strumieniowego, jeśli istnieje. Przyszłe zapytania zwracają wszystkie wiersze z tabeli bez automatycznego filtrowania.

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

    Ważne

    Ta funkcja jest dostępna w publicznej wersji testowej.

    Zastosuj tagi do tabeli przesyłania strumieniowego. Musisz mieć APPLY TAG uprawnienia do dodawania tagów do tabeli przesyłania strumieniowego.

    • tag_name

      Dosłowny STRING. Element tag_name musi być unikatowy w tabeli strumieniowania.

    • tag_value

      Dosłowny STRING.

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

    Ważne

    Ta funkcja jest dostępna w publicznej wersji testowej.

    Usuń tagi z tabeli przesyłania strumieniowego. Musisz mieć APPLY TAG uprawnienia do usuwania tagów z tabeli strumieniowania.

    • tag_name

      Dosłowny STRING. Element tag_name musi być unikatowy w tabeli strumieniowania.

ALTER COLUMN klauzula

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Zmienia właściwość lub lokalizację kolumny.

Składnia

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

Parametry

  • column_identifier

    Nazwa kolumny, która ma zostać zmieniona.

  • COMMENT comment

    Zmienia opis kolumny column_name . comment musi być dosłowną wartością STRING.

  • SET KLAUZULA MASKA

    Dodaje funkcję maski kolumn do anonimowości poufnych danych. Wszystkie kolejne zapytania z tej kolumny otrzymają wynik oceny tej funkcji w kolumnie zamiast oryginalnej wartości kolumny. Może to być przydatne w celach szczegółowej kontroli dostępu, w których funkcja może sprawdzić tożsamość lub członkostwo w grupach użytkownika wywołującego w celu określenia, czy zredagować wartość.

    Maski kolumn dodane po utworzeniu są propagowane tylko do tabel podrzędnych po następnej aktualizacji. W przypadku potoków ciągłych wymaga to ponownego uruchomienia potoku.

  • DROP MASK

    Usuwa maskę kolumn dla tej kolumny, jeśli istnieje. Przyszłe zapytania z tej kolumny otrzymają oryginalne wartości kolumny.

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

    Zastosuj tagi do kolumny. Musisz mieć APPLY TAG uprawnienia do dodawania tagów do kolumny.

    • tag_name

      Dosłowny STRING. Element tag_name musi być unikatowy w tabeli lub kolumnie.

    • tag_value

      Dosłowny STRING.

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

    Usuń podane tagi z kolumny. Musisz mieć APPLY TAG uprawnienia do usuwania tagów z kolumny.

    • tag_name

      Dosłowny STRING. Element tag_name musi być unikatowy w tabeli lub kolumnie.

Przykłady

-- 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'