persistencia_for (para tablas derivadas)

En esta página, se hace referencia al parámetro persist_for que forma parte de una derived_table.

persist_for también se puede usar como parte de Explorar, descrito en la página de documentación del parámetro persist_for (para Explorar).

persist_for también se puede usar como parte de un modelo, que se describe en la página de documentación del parámetro persist_for (para modelos).

Uso

vista: my_view {
derived_table: {
persist_for: "24 horas"
...
}
}
Jerarquía
persist_for
Valor predeterminado
Ninguna

Acepta
Una string que contiene un número entero seguido de un período (segundos, minutos u horas)

Definición

En su lugar, usa datagroup y datagroup_trigger, que se describen en esta página sobre el almacenamiento en caché.

persist_for te permite establecer el tiempo máximo en que se puede usar una tabla derivada persistente antes de regenerarse. Cuando un usuario ejecuta una consulta que se basa en una tabla derivada de persist_for, Looker compara la antigüedad de la tabla con persist_for. Si la edad es mayor que la configuración de persist_for, la tabla derivada se vuelve a generar antes de que se ejecute la consulta. Si la edad es menor que la configuración de persist_for, se usa la tabla derivada existente.

persist_for para un PDT que se ejecuta de forma independiente de los parámetros persist_for para modelos y exploraciones.

Si tu administrador te otorgó el permiso develop, puedes forzar la regeneración de una tabla derivada antes de que se cumpla su edad de persist_for. Selecciona la opción Rebuild Derived Tables & amp; Run en el menú desplegable Explorar ajustes, que encontrarás en la esquina superior derecha de la pantalla después de ejecutar una consulta:

Consulta la página de documentación Tablas derivadas en Looker para obtener más detalles sobre la opción Volver a compilar tablas derivadas y ejecutar.

Ejemplos

Volver a generar la tabla derivada si tiene más de 1 hora de antigüedad

persist_for: "1 hour"

Volver a generar la tabla derivada si tiene más de 1.5 horas de antigüedad

persist_for: "90 minutes"

Volver a generar 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 tablas derivadas persistentes.

persist_for no tendrá ningún efecto, a menos que habilites la persistencia para 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 solo lectura de PostgreSQL.

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 en un valor más largo.

Consulta la sección Tablas persistentes en 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 período de persist_for, Looker no vuelve a generar automáticamente una nueva tabla derivada. En cambio, se descarta la tabla y se genera una nueva tabla derivada la próxima vez que un usuario la consulta. En lugar de esperar a que una consulta del usuario active la generación de una tabla derivada, puedes programar la regeneración automática de una tabla derivada mediante sql_trigger_value.

Diferencia entre datagroup y max_cache_age

Si usa el parámetro datagroup con el parámetro datagroup_trigger, tendrá más flexibilidad para activar una nueva compilación de su PDT. Sin embargo, el parámetro max_cache_age solo invalida la caché, no hace que caduquen los PDT. Usa persist_for con una tabla derivada si deseas establecer un período máximo antes de quitar un PDT del esquema desde cero.