persiste_for (per tabelle derivate)

Questa pagina si riferisce al parametro persist_for che fa parte di una derived_table.

persist_for può essere utilizzato anche come parte di un'esplorazione, descritto nella pagina della documentazione relativa al parametro persist_for (per le esplorazioni).

persist_for può essere utilizzato anche come parte di un modello, descritto nella pagina della documentazione relativa al parametro persist_for (per i modelli).

Utilizzo

view: my_view {
derived_table: {
persist_for: "24 ore"
...
}
}
Gerarchia
persist_for
Valore predefinito
Nessuna

Accetta
Una stringa contenente un numero intero seguito da un periodo di tempo (secondi, minuti o ore)

Definizione

Prendi in considerazione l'utilizzo di datagroup e datagroup_trigger, descritti in questa pagina sulla memorizzazione nella cache.

persist_for ti consente di impostare il periodo di tempo massimo durante il quale è possibile utilizzare una tabella derivata permanente prima che venga rigenerata. Quando un utente esegue una query che si basa su una tabella derivata da persist_for, Looker controlla l'età della tabella sulla base di persist_for. Se l'età è superiore all'impostazione persist_for, la tabella derivata viene rigenerata prima dell'esecuzione della query. Se l'età è inferiore all'impostazione persist_for, viene utilizzata la tabella derivata esistente.

persist_for per una PDT viene eseguito indipendentemente dai parametri persist_for per modelli ed esplorazioni.

Se l'amministratore ti ha concesso l'autorizzazione develop, puoi forzare la rigenerazione di una tabella derivata prima che sia stata raggiunta la sua età pari a persist_for. Seleziona l'opzione Rebuild Derived Tables & Run (Ricostruisci tabelle derivate ed esegui) dal menu a discesa Esplora dell'ingranaggio, che trovi in alto a destra sullo schermo dopo aver eseguito una query:

Per ulteriori dettagli sull'opzione Rebuild Derived Tables & Run (Riesegui tabelle derivate ed esecuzione), consulta la pagina della documentazione Tabelle derivate in Looker.

Esempi

Rigenera la tabella derivata se è più vecchia di 1 ora

persist_for: "1 hour"

Rigenera la tabella derivata se è precedente a 1,5 ore

persist_for: "90 minutes"

Rigenera la tabella derivata se è più vecchia di 1 giorno

persist_for: "24 hours"

Aspetti da considerare

persist_for richiede che tu abbia abilitato le tabelle derivate permanenti

persist_for non avrà effetto a meno che tu non abbia attivato la persistenza per le tabelle derivate sulla tua istanza di Looker. La maggior parte dei clienti configura le tabelle derivate permanenti durante la configurazione iniziale di Looker. L'eccezione più comune a questa regola è per i clienti che collegano Looker a un database di repliche hot-swap di sola lettura PostgreSQL.

persist_for funziona in modo diverso tra la modalità di sviluppo e la modalità di produzione

persist_for dovrebbe funzionare come previsto in modalità di produzione. In modalità sviluppatore, tutte le tabelle derivate vengono mantenute per un massimo di 24 ore, anche se imposti un valore più lungo per persist_for.

Per ulteriori informazioni, consulta la sezione Tabelle permanenti in modalità sviluppo della pagina della documentazione Tabelle derivate in Looker.

Alternative a persist_for

Alla scadenza del periodo di tempo di persist_for, Looker non rigenera automaticamente una nuova tabella derivata. Piuttosto, la tabella viene eliminata e verrà generata una nuova tabella derivata la prossima volta che un utente eseguirà una query. Anziché attendere che una query dell'utente attivi la generazione di una tabella derivata, puoi pianificare la rigenerazione automatica di una tabella derivata utilizzando sql_trigger_value.

Differenza tra datagroup e max_cache_age

L'utilizzo del parametro datagroup con un parametro datagroup_trigger ti offre una maggiore flessibilità nell'attivazione della ricreazione delle PDT. Tuttavia, il parametro max_cache_age invalida solo la cache; non comporta la scadenza delle PDT. Utilizza persist_for con una tabella derivata se vuoi impostare un periodo di tempo massimo prima di eliminare una PDT dallo schema temporaneo.