Diese Seite bezieht sich auf den Parameter
persist_for
, der Teil einer derived_table ist.
persist_for
kann auch als Teil eines explorativen Analysetools verwendet werden, wie auf der Seite mit der Parameterdokumentation fürpersist_for
beschrieben.
persist_for
kann auch als Teil eines Modells verwendet werden. Dies wird auf der Seite mit der Parameterdokumentation fürpersist_for
(für Modelle) beschrieben.
Nutzung
derived_table: {
persist_for: „24 Stunden“
...
}
}
Hierarchie
persist_for |
Standardwert
KeineAkzeptiert
Ein String mit einer Ganzzahl, gefolgt von einem Zeitraum (Sekunden, Minuten oder Stunden)
|
Definition
Verwenden Sie stattdessen
datagroup
unddatagroup_trigger
, die auf dieser Seite zum Caching beschrieben werden.
Mit persist_for
können Sie festlegen, wie lange eine persistente abgeleitete Tabelle maximal verwendet werden darf, bevor sie neu generiert wird. Wenn ein Nutzer eine Abfrage ausführt, die auf einer abgeleiteten persist_for
-Tabelle basiert, vergleicht Looker das Alter der Tabelle mit persist_for
. Wenn das Alter größer als die Einstellung persist_for
ist, wird die abgeleitete Tabelle vor der Ausführung der Abfrage neu generiert. Wenn das Alter kleiner als persist_for
ist, wird die vorhandene abgeleitete Tabelle verwendet.
persist_for
für ein PDT wird unabhängig von persist_for
-Parametern für Modelle und Erkunden ausgeführt.
Wenn Ihr Administrator Ihnen die Berechtigung develop
gewährt hat, können Sie die Neuerstellung einer abgeleiteten Tabelle erzwingen, bevor das Alter von persist_for
erreicht ist. Wählen Sie nach dem Ausführen einer Abfrage rechts oben auf dem Bildschirm die Option Abgeleitete Tabellen und Ausführung neu erstellen aus:
Weitere Informationen zur Option Abgeleitete Tabellen und Ausführung neu erstellen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.
Beispiele
Abgeleitete Tabelle neu generieren, wenn sie älter als 1 Stunde ist
persist_for: "1 hour"
Abgeleitete Tabelle neu generieren, wenn sie älter als 1,5 Stunden ist
persist_for: "90 minutes"
Abgeleitete Tabelle neu generieren, wenn sie älter als 1 Tag ist
persist_for: "24 hours"
Wichtige Punkte
Für persist_for
müssen nichtflüchtige abgeleitete Tabellen aktiviert sein
persist_for
hat keine Auswirkungen, es sei denn, Sie haben die Persistenz für abgeleitete Tabellen auf Ihrer Looker-Instanz aktiviert. Die meisten Kunden richten persistente abgeleitete Tabellen ein, wenn sie Looker zum ersten Mal konfigurieren. Die häufigste Ausnahme von dieser Regel sind Kunden, die Looker mit einer schreibgeschützten PostgreSQL-, Swap-Datenbank verbinden.
persist_for
funktioniert im Entwicklungsmodus und im Produktionsmodus unterschiedlich
persist_for
sollte im Produktionsmodus wie erwartet funktionieren. Im Entwicklungsmodus werden alle abgeleiteten Tabellen maximal 24 Stunden lang gespeichert, auch wenn Sie persist_for
auf einen längeren Wert setzen.
Weitere Informationen finden Sie im Abschnitt Persistenz Tabellen im Entwicklungsmodus auf der Dokumentationsseite Abgeleitete Tabellen in Looker.
Alternativen zu persist_for
Nach Ablauf des persist_for
-Zeitraums generiert Looker nicht automatisch eine neue abgeleitete Tabelle. Stattdessen wird die Tabelle gelöscht und eine neue abgeleitete Tabelle generiert, wenn der Nutzer sie das nächste Mal abfragt. Anstatt auf das Generieren einer abgeleiteten Tabelle durch eine Nutzerabfrage zu warten, können Sie die automatische Neuerstellung einer abgeleiteten Tabelle mit sql_trigger_value
planen.
Unterschied zwischen datagroup
und max_cache_age
Wenn Sie den Parameter datagroup
mit dem Parameter datagroup_trigger
verwenden, können Sie die Neuerstellung der PDT flexibler gestalten. Der Parameter max_cache_age
macht jedoch nur den Cache ungültig. PDTs laufen nicht ab. Verwenden Sie persist_for
mit einer abgeleiteten Tabelle, wenn Sie einen maximalen Zeitraum festlegen möchten, bevor ein PDT aus dem Scratch-Schema entfernt wird.