persist_for (para tabelas derivadas)

Esta página se refere ao parâmetro persist_for que faz parte de uma derived_table.

O persist_for também pode ser usado como parte de uma exploração, descrita na página de documentação do parâmetro persist_for (para explorações).

persist_for também pode ser usado como parte de um modelo, descrito na página de documentação de parâmetros persist_for (para modelos).

Uso

view: my_view {
derived_table: {
persist_for: "24 hours"
...
}
}
Hierarquia
persist_for
Valor padrão
Nenhuma

Aceita
Uma string que contém um número inteiro seguido por um período (segundos, minutos ou horas)

Definição

Considere usar datagroup e datagroup_trigger, descritos nesta página sobre o armazenamento em cache.

persist_for permite definir o tempo máximo em que uma tabela derivada persistente poderá ser usada antes de ser gerada novamente. Quando um usuário executa uma consulta que depende de uma tabela derivada persist_for, o Looker verifica a idade da tabela em relação a persist_for. Se a idade for maior que a configuração persist_for, a tabela derivada será gerada novamente antes da execução da consulta. Se a idade for menor que a configuração persist_for, a tabela derivada será usada.

persist_for para um PDT é executado de forma independente dos parâmetros persist_for para modelos e explores.

Se o administrador tiver concedido a permissão develop, você poderá forçar a geração de uma tabela derivada antes que a idade persist_for seja alcançada. Selecione a opção Reconstruir tabelas derivadas e executar no menu suspenso da engrenagem "Explorar", que fica no canto superior direito da tela após executar uma consulta:

Consulte a página de documentação Tabelas derivadas no Looker para ver mais detalhes sobre a opção Recriar tabelas derivadas e executar.

Examples

Gerar novamente a tabela derivada se ela tiver mais de uma hora

persist_for: "1 hour"

Gerar novamente a tabela derivada se ela tiver mais de 1,5 hora

persist_for: "90 minutes"

Gerar novamente a tabela derivada se ela tiver mais de um dia

persist_for: "24 hours"

Considerações

persist_for requer a ativação de tabelas derivadas permanentes.

persist_for não terá efeito a menos que você tenha ativado a persistência para tabelas derivadas na sua instância do Looker. A maioria dos clientes configura tabelas derivadas permanentes ao configurar o Looker inicialmente. A exceção mais comum para essa regra é para clientes que conectam o Looker a um banco de dados de réplica de hot-swap e somente leitura do PostgreSQL.

persist_for funciona de forma diferente entre o modo de desenvolvimento e o modo de produção

persist_for funcionará conforme o esperado no Modo de produção. No modo de desenvolvimento, todas as tabelas derivadas são mantidas por, no máximo, 24 horas, mesmo que você defina persist_for como um valor mais longo.

Consulte a seção Tabelas persistentes no modo de desenvolvimento da página de documentação Tabelas derivadas no Looker para mais informações.

Alternativas a persist_for

Quando o período de persist_for expirar, o Looker não vai gerar novamente uma nova tabela derivada automaticamente. Em vez disso, a tabela será descartada, e uma nova tabela derivada será gerada na próxima vez que um usuário a consultar. Em vez de esperar uma consulta do usuário acionar a geração de uma tabela derivada, é possível programar a regeneração automática de uma tabela derivada usando sql_trigger_value.

Diferença entre datagroup e max_cache_age

O uso do parâmetro datagroup com um parâmetro datagroup_trigger oferece mais flexibilidade para acionar a recriação do PDT. No entanto, o parâmetro max_cache_age só invalida o cache, não faz com que os PDTs expirem. Use persist_for com uma tabela derivada se quiser definir um período máximo antes de descartar um PDT do esquema de rascunho.