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
Zmienia metadane skojarzone z widokiem.
Umożliwia wykonanie dowolnej z następujących akcji:
- Dodaj harmonogram odświeżania istniejącego zmaterializowanego widoku.
- Zmień istniejący harmonogram odświeżania dla zmaterializowanego widoku.
- Zrezygnować z harmonogramu odświeżania zmaterializowanego widoku. Jeśli harmonogram zostanie porzucony, obiekt musi zostać odświeżony ręcznie, aby odzwierciedlić najnowsze dane.
Aby dodać lub zmienić komentarz dotyczący zmaterializowanego widoku, 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 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 }
Parametry
-
Nazwa zmaterializowanego widoku, aby zmienić definicję elementu . Nazwa nie może zawierać specyfikacji czasowej.
harmonogram
Dodaj lub zmień instrukcję
SCHEDULElubTRIGGERw zmaterializowanym widoku.Uwaga
Nie można zmodyfikować harmonogramu materializowanego widoku utworzonego 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 do przesyłania strumieniowego lub widok materializowany jest odświeżany okresowo w określonym interwale 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 za pomocą wartości cron
Quartz. 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 zmaterializowany widok do odświeżenia 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 widok materializowany przy użyciu 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 zmaterializowanego widoku.
ALTER COLUMN clauseZobacz klauzulę ALTERCOLUMN.
-
Ważne
Ta funkcja jest dostępna w publicznej wersji testowej.
Dodaje funkcję filtru wierszy do zmaterializowanego widoku. Wszystkie kolejne zapytania do zmaterializowanego widoku otrzymują podzestaw wierszy, w których funkcja oblicza 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.
Usuwa filtr wiersza ze zmaterializowanego widoku, jeśli istnieje. Przyszłe zapytania będą zwracać 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 zmaterializowanego widoku. Musisz mieć
APPLY TAGuprawnienia do dodawania tagów do zmaterializowanego widoku.tag_nameDosłowny
STRING. Elementtag_namemusi być unikatowy w zmaterializowanym widoku lub kolumnie.tag_valueDosłowny
STRING.
UNSET TAGS ( tag_name [, ...] )Ważne
Ta funkcja jest dostępna w publicznej wersji testowej.
Usuń tagi z zmaterializowanego widoku. Musisz mieć
APPLY TAGuprawnienia do usuwania tagów z zmaterializowanego widoku.tag_nameDosłowny
STRING. Elementtag_namemusi być unikatowy w zmaterializowanym widoku lub kolumnie.
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 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'