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âmetropersist_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âmetrospersist_for
(para modelos).
Uso
derived_table: {
persist_for: "24 hours"
...
}
}
Hierarquia
persist_for |
Valor padrão
NenhumaAceita
Uma string que contém um número inteiro seguido por um período (segundos, minutos ou horas)
|
Definição
Considere usar
datagroup
edatagroup_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.