persist_for (para tabelas derivadas)

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

persist_for também pode ser usado como parte de uma análise detalhada, conforme descrito na página de documentação do parâmetro persist_for (para análises detalhadas).

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

Uso

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

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

Definição

Em vez disso, use um parâmetro datagroup e um parâmetro datagroup_trigger, descritos na documentação sobre consultas de cache.

Com persist_for, é possível definir o período máximo em que uma tabela derivada permanente pode ser usada antes de ser regenerada. 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á regenerada antes da execução da consulta. Se a idade for menor que a configuração persist_for, a tabela derivada atual será usada.

persist_for para uma PDT é executado de forma independente dos parâmetros persist_for para modelos e Explorars.

Se o administrador tiver concedido a permissão develop, você poderá forçar a regeneração de uma tabela derivada antes que ela atinja a idade de persist_for. Selecione a opção Recriar tabelas derivadas e executar no menu suspenso de engrenagem Ações da análise detalhada.

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

Exemplos

Regenerar a tabela derivada se ela tiver mais de uma hora

persist_for: "1 hour"

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

persist_for: "90 minutes"

Regenerar a tabela derivada se ela tiver mais de um dia

persist_for: "24 hours"

Informações importantes

O persist_for exige que você tenha ativado as tabelas derivadas persistentes.

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 persistentes ao configurar o Looker pela primeira vez. A exceção mais comum a essa regra é para clientes que conectam o Looker a um banco de dados de réplica somente leitura e de troca a quente do PostgreSQL.

persist_for funciona de maneira diferente no modo de desenvolvimento e no modo de produção

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

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 persist_for expira, o Looker não gera automaticamente uma nova tabela derivada. Em vez disso, a tabela é descartada, e uma nova tabela derivada é gerada na próxima vez que um usuário faz uma consulta. Em vez de esperar uma consulta do usuário para acionar a geração de uma tabela derivada, você pode programar a regeneração automática de uma tabela derivada usando sql_trigger_value.

Diferença entre datagroup e max_cache_age

Usar o parâmetro datagroup com um parâmetro datagroup_trigger oferece mais flexibilidade ao acionar a recriação da PDT. No entanto, o parâmetro max_cache_age apenas invalida o cache, não faz com que as PDTs expirem. Use persist_for com uma tabela derivada se quiser definir um período máximo antes de remover uma PDT do esquema temporário.