Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
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
-
Nazwa tabeli przesyłania strumieniowego, której definicję chcesz zmienić. Nazwa nie może zawierać specyfikacji czasowej.
harmonogram
Dodaj lub zmień instrukcję
SCHEDULElubTRIGGERw 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_clauseEVERY 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 jakHOUR,HOURS,DAY,DAYS,WEEKlubWEEKS. W poniższej tabeli wymieniono zaakceptowane wartości całkowite dlanumber.Jednostka czasu Wartość całkowita HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= 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 LOCALnie jest obsługiwana.Jeśli
AT TIME ZONEjest nieobecny, używana jest strefa czasowa sesji. JeśliAT TIME ZONEjest 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 UPDATEjest 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 EVERYaby 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_intervalto instrukcja INTERVAL , która jest co najmniej 1 minuta.TRIGGER ON UPDATEma 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 EVERYjest domyślnie ustawiona na 1 minutę i nie może być mniejsza niż 1 minuta.
DROP SCHEDULEUsuwa harmonogram z tabeli przesyłania strumieniowego.
ALTER COLUMN clauseZobacz klauzulę ALTERCOLUMN.
-
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 FILTERWaż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 TAGuprawnienia do dodawania tagów do tabeli przesyłania strumieniowego.tag_nameDosłowny
STRING. Elementtag_namemusi być unikatowy w tabeli strumieniowania.tag_valueDosł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 TAGuprawnienia do usuwania tagów z tabeli strumieniowania.tag_nameDosłowny
STRING. Elementtag_namemusi 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
-
Nazwa kolumny, która ma zostać zmieniona.
COMMENT commentZmienia opis kolumny
column_name.commentmusi być dosłowną wartościąSTRING.SETKLAUZULA MASKADodaje 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 MASKUsuwa 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 TAGuprawnienia do dodawania tagów do kolumny.tag_name
Dosłowny
STRING. Elementtag_namemusi być unikatowy w tabeli lub kolumnie.tag_value
Dosłowny
STRING.
UNSET TAGS ( tag_name [, ...] )Usuń podane tagi z kolumny. Musisz mieć
APPLY TAGuprawnienia do usuwania tagów z kolumny.tag_name
Dosłowny
STRING. Elementtag_namemusi 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'