En esta página, se hace referencia al parámetro
persist_forque forma parte de una derived_table.
persist_fortambién se puede usar como parte de una exploración, como se describe en la página de documentación del parámetropersist_for(para exploraciones).
persist_fortambién se puede usar como parte de un modelo, como se describe en la página de documentación del parámetropersist_for(para modelos).
Uso
view: my_view {
derived_table: {
persist_for: "24 hours"
...
}
}
|
Jerarquía
persist_for |
Valor predeterminado
Ninguno
Acepta
Cadena que contiene un número entero seguido de un período (segundos, minutos u horas)
|
Definición
En su lugar, considera usar un parámetro
datagroupy un parámetrodatagroup_trigger, que se describen en la documentación sobre el almacenamiento en caché de consultas.
persist_for te permite establecer la cantidad máxima de tiempo que se puede usar una tabla derivada persistente antes de que se vuelva a generar. Cuando un usuario ejecuta una consulta que se basa en una tabla derivada persist_for, Looker verifica la antigüedad de la tabla en comparación con persist_for. Si la antigüedad es mayor que el parámetro de configuración persist_for, la tabla derivada se vuelve a generar antes de que se ejecute la consulta. Si la antigüedad es inferior al parámetro de configuración persist_for, se usa la tabla derivada existente.
persist_for para una PDT se ejecuta de forma independiente de los parámetros de persist_for para los modelos y las exploraciones.
Si el administrador te otorgó permiso de develop, puedes forzar la regeneración de una tabla derivada antes de que alcance la antigüedad de persist_for. Selecciona la opción Rebuild Derived Tables & Run en el menú desplegable de ajustes Explore actions.
Consulta la página de documentación Tablas derivadas en Looker para obtener más detalles sobre la opción Rebuild Derived Tables & Run.
Ejemplos
Regenera la tabla derivada si tiene más de 1 hora de antigüedad.
persist_for: "1 hour"
Regenera la tabla derivada si tiene más de 1.5 horas.
persist_for: "90 minutes"
Regenera la tabla derivada si tiene más de 1 día.
persist_for: "24 hours"
Aspectos para tener en cuenta
persist_for requiere que hayas habilitado las tablas derivadas persistentes
persist_for no tendrá ningún efecto, a menos que hayas habilitado la persistencia para las tablas derivadas en tu instancia de Looker. La mayoría de los clientes configuran tablas derivadas persistentes cuando configuran Looker por primera vez. La excepción más común a esta regla es para los clientes que conectan Looker a una base de datos de réplica de intercambio en caliente de PostgreSQL de solo lectura.
persist_for funciona de manera diferente entre el modo de desarrollo y el modo de producción
persist_for debería funcionar como se espera en el modo de producción. En el modo de desarrollo, todas las tablas derivadas se conservan durante un máximo de 24 horas, incluso si configuras persist_for con un valor más largo.
Consulta la sección Tablas persistentes en el modo de desarrollo de la página de documentación Tablas derivadas en Looker para obtener más información.
Alternativas a persist_for
Una vez que vence el plazo de persist_for, Looker no vuelve a generar automáticamente una nueva tabla derivada. En cambio, se descarta la tabla y se generará una nueva tabla derivada la próxima vez que un usuario la consulte. En lugar de esperar a que una búsqueda del usuario active la generación de una tabla derivada, puedes programar la regeneración automática de una tabla derivada con sql_trigger_value.
Diferencia entre datagroup y max_cache_age
Usar el parámetro datagroup con un parámetro datagroup_trigger te brinda más flexibilidad para activar la recompilación de tu PDT. Sin embargo, el parámetro max_cache_age solo invalida la caché; no hace que venzan los PDT. Usa persist_for con una tabla derivada si deseas establecer un período máximo antes de quitar una PDT del esquema de trabajo.