Condividi tramite


.create-or-alter materialized-view

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-altermaterialized-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_mintake_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.
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_mintake_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 in T | summarize Count=count() by Id elimina la colonna count_ e crea una nuova colonna Count, 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 in T | summarize count(), sum(Value) by bin(Timestamp, 1d). Per un particolare Timestamp=T per il quale i record sono già stati elaborati prima di modificare la vista, la sum colonna contiene dati parziali. Questa vista include solo i record elaborati dopo l'esecuzione della modifica.