.create-or-alter materialized-view
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
Crea una vista materializzata o modifica una vista materializzata esistente.
Autorizzazioni
Per eseguire questo comando, è necessario disporre almeno delle autorizzazioni di amministratore visualizzazione materializzate.
Sintassi
.create-or-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. Il nome della vista non può essere in conflitto con i nomi di tabella o di funzione nello stesso database e deve rispettare le regole di denominazione degli identificatori. |
SourceTableName | string |
✔️ | Nome della tabella di origine in cui è definita la vista. |
Query | string |
✔️ | Definizione di query della vista materializzata. |
Proprietà supportate
Nuova tabella
Se la tabella è nuova, le proprietà seguenti sono supportate in with(
PropertyName =
PropertyValue )
. Tutte le proprietà sono facoltative.
Nome | Tipo | Descrizione |
---|---|---|
Recupero | bool |
Se creare la vista in base a tutti i record attualmente in SourceTable (true ) o a crearla da ora in poi (false ). Il valore predefinito è false . Per altre informazioni, vedere Backfill a materialized view.For more information, see Backfill a materialized view. |
effectiveDateTime | datetime |
Rilevante solo quando si usa backfill . Se è impostata, la creazione esegue il backfill solo con i record inseriti dopo datetime. backfill deve anche essere impostato su true . Questa proprietà prevede un valore letterale datetime; ad esempio . effectiveDateTime=datetime(2019-05-01) |
updateExtentsCreationTime | bool |
Rilevante solo quando si usa backfill . Se è impostato su true , l'ora di creazione extent viene assegnata in base alla chiave datetime group-by durante il processo di backfill. Per altre informazioni, vedere Backfill a materialized view.For more information, see Backfill a materialized view. |
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. Il lookback è relativo a ingestion_time(). Se la query di visualizzazione materializzata non mantiene il ingestion_time() valore, il lookback non può essere definito nella vista. Vedere limitazioni delle viste materializzate e problemi noti. 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. |
allowMaterializedViewsWithoutRowLevelSecurity | bool |
Consente di creare una vista materializzata su una tabella con i criteri di sicurezza a livello di riga abilitati. |
Tabella esistente
Se la tabella esiste già, in PropertyName =
PropertyValue )
sono supportati solo il sottoinsieme with(
di proprietà seguente. 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
Creare o modificare una vista materializzata
Il comando seguente crea una nuova vista materializzata o modifica una vista materializzata esistente denominata ArgMax:
.create-or-alter materialized-view ArgMax on table T
{
T | summarize arg_max(Timestamp, *) by User
}
Output
Nome | SourceTable | Query | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Cartella | DocString | AutoUpdateSchema | EffectiveDateTime | Lookback |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ArgMax | T | T | summarize arg_max(Timestamp, *) by User | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completato | true | true | false | 2023-02-23T14:01:42.5172342Z |
Osservazioni:
Se la vista materializzata non esiste, questo comando si comporta esattamente come .create materialized-view.
Per altre informazioni, vedere le sezioni Parametri di query e Proprietà .
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.