Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks SQL
Modifica i metadati associati alla vista.
Consente di eseguire una delle azioni seguenti:
- Aggiungere una pianificazione per aggiornare una vista materializzata esistente.
- Modificare un programma di aggiornamento esistente per una vista materializzata.
- Eliminare la pianificazione dell'aggiornamento per una vista materializzata. Se la pianificazione viene eliminata, l'oggetto deve essere aggiornato manualmente per riflettere i dati più recenti.
Per aggiungere o modificare un commento in una vista materializzata, usare COMMENT ON.
Nota
La modifica di un set di dati creato dalla pipeline in modi che contraddicono la definizione SQL può causare il ripristino di alcune modifiche. Vedi l'uso dei ALTER comandi con le pipeline dichiarative di Lakeflow Spark.
Sintassi
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 }
Parametri
-
Nome della vista materializzata per modificare la definizione di . Il nome non deve includere una specifica temporale.
schedule
Aggiungere o modificare un'istruzione
SCHEDULEoTRIGGERnella vista materializzata.Nota
Non è possibile modificare la pianificazione di una vista materializzata creata con le pipeline dichiarative di Lakeflow Spark con questo comando. Usa l'editor della pipeline.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Per pianificare un aggiornamento che si verifica periodicamente, usare la sintassi
EVERY. Se viene specificata la sintassiEVERY, la tabella di streaming o la vista materializzata viene aggiornata periodicamente all'intervallo determinato dal valore indicato, ad esempioHOUR,HOURS,DAY,DAYS,WEEKoWEEKS. Nella tabella seguente sono elencati i valori integer accettati pernumber.unità di tempo Valore intero HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= W <= 8 Nota
Le forme singolari e plurali dell'unità temporale inclusa sono semanticamente equivalenti.
CRON cron_string [ AT TIME ZONE timezone_id ]Per pianificare un aggiornamento utilizzando un valore cron . Vengono accettati time_zone_values validi.
AT TIME ZONE LOCALnon è supportata.Se
AT TIME ZONEè assente, viene usato il fuso orario della sessione. SeAT TIME ZONEè assente e il fuso orario della sessione non è impostato, viene generato un errore.SCHEDULEè semanticamente equivalente aSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Importante
La
TRIGGER ON UPDATEfunzionalità è in versione beta.Imposta la vista materializzata da aggiornare quando viene aggiornata un'origine dati upstream, al massimo una volta ogni minuto. Impostare un valore per per
AT MOST EVERYper richiedere almeno un tempo minimo tra gli aggiornamenti.Le origini dati upstream devono essere tabelle Delta esterne o gestite (incluse viste materializzate o tabelle di streaming) o viste gestite le cui dipendenze sono limitate ai tipi di tabella supportati.
L'abilitazione degli eventi di file può rendere i trigger più efficienti e aumenta alcuni dei limiti per gli aggiornamenti dei trigger.
trigger_intervalè un'istruzione INTERVAL di almeno 1 minuto.TRIGGER ON UPDATEpresenta le limitazioni seguenti- Non più di 10 origini dati upstream per vista materializzata quando si usa TRIGGER ON UPDATE.
- È possibile specificare un massimo di 1000 tabelle di streaming o viste materializzate con TRIGGER ON UPDATE.
- Per impostazione predefinita, la
AT MOST EVERYclausola è 1 minuto e non può essere inferiore a 1 minuto.
DROP SCHEDULERimuove una pianificazione dalla vista materializzata.
ALTER COLUMN clauseVedere clausola ALTERCOLUMN.
-
Importante
Questa funzionalità è in Anteprima Pubblica.
Aggiunge una funzione di filtro di riga alla vista materializzata. Tutte le query successive alla vista materializzata ricevono un subset delle righe in cui la funzione restituisce un valore booleano
TRUE. Ciò può essere utile per scopi di controllo di accesso con granularità fine, in cui la funzione può esaminare l'identità o le appartenenze a gruppi dell'utente che richiama per decidere se filtrare determinate righe.I filtri di riga aggiunti dopo la creazione vengono propagati solo alle tabelle downstream dopo l'aggiornamento successivo. Per le pipeline continue, è necessario riavviare la pipeline.
DROP ROW FILTERImportante
Questa funzionalità è in Anteprima Pubblica.
Elimina il filtro di riga dalla vista materializzata, se presente. Le query future restituiranno tutte le righe dalla tabella senza alcun filtro automatico.
SET TAGS ( { tag_name = tag_value } [, ...] )Importante
Questa funzionalità è in Anteprima Pubblica.
Applicare tag alla vista materializzata. È necessario disporre
APPLY TAGdell'autorizzazione per aggiungere tag alla vista materializzata.tag_nameValore letterale
STRING. Iltag_namedeve essere univoco all'interno della vista materializzata o della colonna.tag_valueValore letterale
STRING.
UNSET TAGS ( tag_name [, ...] )Importante
Questa funzionalità è in Anteprima Pubblica.
Rimuovere i tag dalla vista materializzata. È necessario disporre
APPLY TAGdell'autorizzazione per rimuovere i tag dalla vista materializzata.tag_nameValore letterale
STRING. Iltag_namedeve essere univoco all'interno della vista materializzata o della colonna.
Clausola ALTER COLUMN
Importante
Questa funzionalità è in Anteprima Pubblica.
Modifica una proprietà o la posizione di una colonna.
Sintassi
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parametri
-
Nome della colonna da modificare.
COMMENT commentCambiare la descrizione della colonna
column_name.commentdeve essere un valoreSTRINGletterale.SETClausola MASKAggiunge una funzione di mascheratura delle colonne per rendere anonimi i dati sensibili. Tutte le query successive da tale colonna riceveranno il risultato della valutazione di tale funzione sulla colonna al posto del valore originale della colonna. Ciò può essere utile per scopi di controllo di accesso con granularità fine, in cui la funzione può esaminare l'identità o le appartenenze a gruppi dell'utente che richiama per decidere se revisionare il valore.
Le maschere di colonna aggiunte dopo la creazione vengono propagate solo alle tabelle downstream dopo l'aggiornamento successivo. Per le pipeline continue, è necessario riavviare la pipeline.
DROP MASKRimuove la maschera di colonna per questa colonna, se presente. Le future query su questa colonna otterranno i valori originali della colonna.
SET TAGS ( { tag_name = tag_value } [, ...] )Applicare tag alla colonna. È necessario disporre
APPLY TAGdell'autorizzazione per aggiungere tag alla colonna.tag_name
Valore letterale
STRING.tag_namedeve essere univoco all'interno della tabella o della colonna.tag_value
Valore letterale
STRING.
UNSET TAGS ( tag_name [, ...] )Rimuovere i tag specificati dalla colonna. È necessario disporre
APPLY TAGdell'autorizzazione per rimuovere i tag dalla colonna.tag_name
Valore letterale
STRING.tag_namedeve essere univoco all'interno della tabella o della colonna.
Esempi
-- 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'