persist_for (für abgeleitete Tabellen)

Auf dieser Seite wird auf den Parameter persist_for verwiesen, der Teil einer derived_table ist.

persist_for kann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter persist_for (für Explores) beschrieben.

persist_for kann auch als Teil eines Modells verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter persist_for (für Modelle) beschrieben.

Nutzung

view: my_view {
  derived_table: {
    persist_for: "24 hours"
    ...
  }
}
Hierarchie
persist_for
Standardwert
Keine

Akzeptiert
Ein String mit einer Ganzzahl gefolgt von einem Zeitraum (Sekunden, Minuten oder Stunden)

Definition

Verwenden Sie stattdessen die datagroup-Parameter und datagroup_trigger-Parameter, die in der Dokumentation zum Zwischenspeichern von Abfragen beschrieben werden.

Mit persist_for können Sie die maximale Zeitspanne festlegen, in der eine persistente abgeleitete Tabelle verwendet werden darf, bevor sie neu generiert wird. Wenn ein Nutzer eine Abfrage ausführt, die auf einer abgeleiteten Tabelle vom Typ persist_for 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 regeneriert, bevor die Abfrage ausgeführt wird. Wenn das Alter geringer ist als die Einstellung persist_for, wird die vorhandene abgeleitete Tabelle verwendet.

persist_for für eine PDT wird unabhängig von persist_for-Parametern für Modelle und Explores ausgeführt.

Wenn Ihr Administrator Ihnen die Berechtigung develop erteilt hat, können Sie erzwingen, dass eine abgeleitete Tabelle neu generiert wird, bevor ihr persist_for erreicht ist. Wählen Sie im Drop-down-Menü Explore-Aktionen (Zahnradsymbol) die Option Abgeleitete Tabellen neu erstellen und ausführen aus.

Weitere Informationen zur Option Abgeleitete Tabellen neu erstellen und ausführen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Beispiele

Die abgeleitete Tabelle wird neu generiert, 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"

Die abgeleitete Tabelle wird neu generiert, wenn sie älter als einen Tag ist.

persist_for: "24 hours"

Wichtige Punkte

Für persist_for müssen Sie persistente abgeleitete Tabellen aktiviert haben.

persist_for hat nur dann Auswirkungen, wenn Sie die Persistenz für abgeleitete Tabellen in Ihrer Looker-Instanz aktiviert haben. 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-Hot-Swap-Replikationsdatenbank 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 beibehalten, auch wenn Sie für persist_for einen längeren Wert festlegen.

Weitere Informationen finden Sie im Abschnitt Persistente Tabellen im Entwicklermodus auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Alternativen zu persist_for

Nach Ablauf des Zeitraums von persist_for wird keine neue abgeleitete Tabelle automatisch von Looker neu generiert. Stattdessen wird die Tabelle gelöscht und beim nächsten Mal, wenn ein Nutzer sie abfragt, wird eine neue abgeleitete Tabelle generiert. Anstatt darauf zu warten, dass die Generierung einer abgeleiteten Tabelle durch eine Nutzeranfrage ausgelöst wird, können Sie die automatische Regenerierung einer abgeleiteten Tabelle mit sql_trigger_value planen.

Unterschied zwischen datagroup und max_cache_age

Wenn Sie den Parameter datagroup zusammen mit einem datagroup_trigger-Parameter verwenden, haben Sie mehr Flexibilität beim Auslösen des PDT-Neuerstellungsvorgangs. Der Parameter max_cache_age macht jedoch nur den Cache ungültig. Er führt nicht dazu, dass PDTs ablaufen. Verwenden Sie persist_for mit einer abgeleiteten Tabelle, wenn Sie einen maximalen Zeitraum festlegen möchten, bevor eine PDT aus dem Scratch-Schema entfernt wird.