.alter materialized-view
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
La modifica della vista materializzata può essere utilizzata per modificare la query di una vista materializzata, mantenendo al tempo stesso i dati esistenti nella vista.
Avviso
Prestare particolare attenzione quando si modifica una vista materializzata. L'uso non corretto può causare la perdita di dati.
Autorizzazioni
Per eseguire questo comando, è necessario disporre almeno delle autorizzazioni di amministratore visualizzazione materializzate.
Sintassi
.alter
materialized-view
[ with
(
PropertyName =
PropertyValue,
...)
] Query MaterializedViewName SourceTableName{
on table
}
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
PropertyName, PropertyValue | string |
Elenco di proprietà sotto forma di coppie nome e valore, dall'elenco delle proprietà supportate. | |
MaterializedViewName | string |
✔️ | Nome della vista materializzata. |
SourceTableName | string |
✔️ | Nome della tabella di origine in cui è definita la vista. |
Query | string |
✔️ | Definizione di query della vista materializzata. |
Proprietà supportate
Nella clausola PropertyName =
PropertyValue)
sono supportate le with
(
proprietà seguenti. Tutte le proprietà sono facoltative.
Nome | Tipo | Descrizione |
---|---|---|
lookback | timespan |
Valido solo per arg_max //arg_min take_any le viste materializzate. Limita il periodo di tempo in cui sono previsti duplicati. Ad esempio, se viene specificato un lookback di 6 ore in una arg_max vista, la deduplicazione tra i record appena inseriti e quelli esistenti prenderà in considerazione solo i record inseriti fino a 6 ore fa. Lookback è relativo a ingestion_time . La definizione del periodo di lookback in modo errato potrebbe causare duplicati nella vista materializzata. Ad esempio, se un record per una chiave specifica viene inserito 10 ore dopo l'inserimento di un record per la stessa chiave e il lookback è impostato su 6 ore, tale chiave sarà duplicata nella visualizzazione. Il periodo di ricerca viene applicato sia durante il tempo di materializzazione che il tempo di query. |
autoUpdateSchema | bool |
Indica se aggiornare automaticamente la vista in base alle modifiche apportate alla tabella di origine. Il valore predefinito è false . Questa opzione è valida solo per le viste di tipo arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (solo quando l'argomento della colonna è ).* Se questa opzione è impostata su true , le modifiche apportate alla tabella di origine verranno riflesse automaticamente nella vista materializzata. |
dimensionTables | array | Argomento dinamico che include una matrice di tabelle delle dimensioni nella vista. Vedere Parametro di query. |
cartella | string |
Cartella della vista materializzata. |
docString | string |
Stringa che documenta la vista materializzata. |
Valori restituiti
Schema di output:
Nome | Tipo | Descrizione |
---|---|---|
Name | string |
Nome della vista materializzata. |
SourceTable | string |
Nome della tabella di origine in cui è definita la vista. |
Query | string |
Definizione di query della vista materializzata. |
MaterializedTo | datetime |
Timestamp massimo materializzato ingestion_time() nella tabella di origine. Per altre informazioni, vedere come funzionano le viste materializzate. |
LastRun | datetime |
Ultima esecuzione della materializzazione. |
LastRunResult | string |
Risultato dell'ultima esecuzione. Restituisce per le esecuzioni riuscite Completed ; in caso contrario Failed , . |
IsHealthy | bool |
true quando la visualizzazione è considerata integra, false in caso contrario. La vista è considerata integra se è stata materializzata correttamente fino all'ultima ora (MaterializedTo è maggiore di ago(1h) ). |
IsEnabled | bool |
true quando la visualizzazione è abilitata (vedere Disabilitare o abilitare la visualizzazione materializzata). |
Cartella | string |
Cartella in cui viene creata la vista materializzata. |
DocString | string |
Descrizione assegnata alla vista materializzata. |
AutoUpdateSchema | bool |
Indica se la visualizzazione è abilitata per gli aggiornamenti automatici. |
EffectiveDateTime | datetime |
Data di validità della visualizzazione, determinata durante l'ora di creazione (vedere .create materialized-view ). |
Lookback | timespan |
Intervallo di tempo che limita il periodo di tempo in cui sono previsti duplicati. |
Esempi
Modificare la definizione di query di una vista materializzata
Il comando seguente modifica la definizione della query della visualizzazione materializzata MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Output
Nome | SourceTable | Query | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Cartella | DocString | AutoUpdateSchema | EffectiveDateTime | Lookback |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MyView | MyTable | MyTable | summarize arg_max(Column3, *) per Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completato | true | true | false | 2023-02-23T14:01:42.5172342Z |
Casi d'uso
- Aggiungere aggregazioni alla vista, ad esempio aggiungere
avg
aggregazioni aT | summarize count(), min(Value) by Id
, modificando la query di visualizzazione inT | summarize count(), min(Value), avg(Value) by Id
. - Operatori di modifica diversi dall'operatore summarize. Ad esempio, filtrare alcuni record modificando
T | summarize arg_max(Timestamp, *) by User
inT | where User != 'someone' | summarize arg_max(Timestamp, *) by User
. - Modificare senza alcuna modifica alla query a causa di una modifica nella tabella di origine. Si supponga, ad esempio, che una visualizzazione di
T | summarize arg_max(Timestamp, *) by Id
, che non sia impostata suautoUpdateSchema
(vedere.create materialized-view
il comando ). Se una colonna viene aggiunta o rimossa dalla tabella di origine della vista, la vista viene disabilitata automaticamente. Eseguire il comando alter con la stessa query per modificare lo schema della vista materializzata in modo da allinearlo al nuovo schema della tabella. La vista deve comunque essere abilitata in modo esplicito dopo la modifica, usando il comando abilita vista materializzata.
Limiti
Modifiche non supportate:
- Modifiche al gruppo di viste materializzate in base alle espressioni.
- Modifica del tipo di colonna.
- Ridenominazione delle colonne. Ad esempio, la modifica di una vista di
T | summarize count() by Id
inT | summarize Count=count() by Id
elimina la colonnacount_
e crea una nuova colonnaCount
, che inizialmente contiene solo valori Null.
Impatto sui dati esistenti:
- La modifica della vista materializzata non ha alcun impatto sui dati esistenti.
- L'aggiunta di filtri alla query si applica solo ai record appena inseriti e non modifica i record già materializzati.
- Le nuove colonne ricevono valori Null per tutti i record esistenti fino a quando i record inseriti dopo il comando alter modificano i valori Null.
- Ad esempio: una visualizzazione di
T | summarize count() by bin(Timestamp, 1d)
viene modificata inT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Per un particolareTimestamp=T
per il quale i record sono già stati elaborati prima di modificare la vista, lasum
colonna contiene dati parziali. Questa vista include solo i record elaborati dopo l'esecuzione della modifica.