persistent_for (für abgeleitete Tabellen)

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ür persist_for beschrieben.

persist_for kann auch als Teil eines Modells verwendet werden. Dies wird auf der Seite mit der Parameterdokumentation für persist_for (für Modelle) beschrieben.

Nutzung

view: my_view {
derived_table: {
persist_for: „24 Stunden“
...
}
}
Hierarchie
persist_for
Standardwert
Keine

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

Definition

Verwenden Sie stattdessen datagroup und datagroup_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.