Cette page fait référence au paramètre
persist_forqui fait partie d'une derived_table.
persist_forpeut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètrepersist_for(pour les explorations).
persist_forpeut également être utilisé dans un modèle, comme décrit sur la page de documentation du paramètrepersist_for(pour les modèles).
Utilisation
view: my_view {
derived_table: {
persist_for: "24 hours"
...
}
}
|
Hiérarchie
persist_for |
Valeur par défaut
Aucun
Acceptation
Chaîne contenant un nombre entier suivi d'une période (en secondes, minutes ou heures)
|
Définition
Envisagez plutôt d'utiliser un paramètre
datagroupet un paramètredatagroup_trigger, décrits dans la documentation sur la mise en cache des requêtes.
persist_for vous permet de définir la durée maximale pendant laquelle une table dérivée persistante peut être utilisée avant d'être régénérée. Lorsqu'un utilisateur exécute une requête qui s'appuie sur une table dérivée persist_for, Looker vérifie l'ancienneté de la table par rapport à persist_for. Si l'âge est supérieur au paramètre persist_for, la table dérivée est régénérée avant l'exécution de la requête. Si l'âge est inférieur au paramètre persist_for, la table dérivée existante est utilisée.
persist_for pour une PDT s'exécute indépendamment des paramètres persist_for pour les modèles et les explorations.
Si votre administrateur vous a accordé l'autorisation develop, vous pouvez forcer la régénération d'une table dérivée avant qu'elle n'atteigne l'âge de persist_for. Sélectionnez l'option Reconstruire les tables dérivées et exécuter dans le menu déroulant Actions sur les explorations (icône en forme de roue dentée).
Pour en savoir plus sur l'option Reconstruire les tables dérivées et exécuter, consultez la page de documentation Tables dérivées dans Looker.
Exemples
Régénérer la table dérivée si elle date de plus d'une heure
persist_for: "1 hour"
Régénérez la table dérivée si elle date de plus d'une heure et demie.
persist_for: "90 minutes"
Régénérer la table dérivée si elle date de plus d'un jour
persist_for: "24 hours"
Éléments à prendre en compte
persist_for nécessite que vous ayez activé les tables dérivées persistantes.
persist_for n'aura aucun effet, sauf si vous avez activé la persistance pour les tables dérivées sur votre instance Looker. La plupart des clients configurent des tables dérivées persistantes lorsqu'ils configurent Looker pour la première fois. L'exception la plus courante à cette règle concerne les clients qui connectent Looker à une base de données PostgreSQL répliquée en lecture seule et échangeable à chaud.
persist_for fonctionne différemment en mode Développement et en mode Production
persist_for devrait fonctionner comme prévu en mode Production. En mode Développement, toutes les tables dérivées sont conservées pendant 24 heures maximum, même si vous définissez persist_for sur une valeur plus longue.
Pour en savoir plus, consultez la section Tables persistantes en mode Développement de la page de documentation Tables dérivées dans Looker.
Alternatives à persist_for
Une fois le délai de persist_for écoulé, Looker ne génère pas automatiquement un nouveau tableau dérivé. La table est supprimée et une nouvelle table dérivée est générée la prochaine fois qu'un utilisateur l'interroge. Au lieu d'attendre qu'une requête utilisateur déclenche la génération d'une table dérivée, vous pouvez planifier la régénération automatique d'une table dérivée à l'aide de sql_trigger_value.
Différence entre datagroup et max_cache_age
L'utilisation du paramètre datagroup avec un paramètre datagroup_trigger vous offre plus de flexibilité pour déclencher la reconstruction de votre PDT. Toutefois, le paramètre max_cache_age n'invalide que le cache. Il n'entraîne pas l'expiration des PDT. Utilisez persist_for avec une table dérivée si vous souhaitez définir une période maximale avant de supprimer une PDT du schéma temporaire.