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
Consente di eseguire una delle azioni seguenti:
- Aggiungere una pianificazione o un trigger per aggiornare una tabella di streaming esistente.
- Modificare una pianificazione o un trigger di aggiornamento esistente per una tabella di streaming.
- Eliminare la pianificazione o il trigger di aggiornamento per una tabella di streaming. Se non è presente alcuna pianificazione o trigger, l'oggetto deve essere aggiornato manualmente per riflettere i dati più recenti.
Per aggiungere o modificare un commento in una tabella di streaming, 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 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 }
Parametri
-
Nome della tabella di streaming di cui modificare la definizione. Il nome non deve includere una specifica temporale.
schedule
Aggiungere o modificare un'istruzione
SCHEDULEoTRIGGERnella tabella.Nota
Non è possibile modificare la pianificazione di una tabella di streaming 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 dato 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 tabella 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 sorgenti di dati upstream per tabella di flusso dati quando si utilizza 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 un programma dalla tabella di streaming.
ALTER COLUMN clauseVedere clausola ALTERCOLUMN.
-
Importante
Questa funzionalità è in Anteprima Pubblica.
Aggiunge una funzione di filtro di riga alla tabella di streaming. Tutte le query successive alla tabella di streaming 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 tabella di streaming, se presente. Le query future restituiscono tutte le righe della tabella senza filtri automatici.
SET TAGS ( { tag_name = tag_value } [, ...] )Importante
Questa funzionalità è in Anteprima Pubblica.
Applicare tag alla tabella di streaming. È necessario disporre
APPLY TAGdell'autorizzazione per aggiungere tag alla tabella di streaming.tag_nameValore letterale
STRING. Devetag_nameessere univoco all'interno della tabella di streaming.tag_valueValore letterale
STRING.
UNSET TAGS ( tag_name [, ...] )Importante
Questa funzionalità è in Anteprima Pubblica.
Rimuovere i tag dalla tabella di streaming. È necessario disporre
APPLY TAGdell'autorizzazione per rimuovere i tag dalla tabella di streaming.tag_nameValore letterale
STRING. Devetag_nameessere univoco all'interno della tabella di streaming.
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 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'